jsTree1.0版本不兼容IE10以上浏览器的问题解决

 在用jsTree做节点树,用IE8没有问题,每次都能加载数量数据了,当切换到IE11版本时,每次总是停留在加载

解决方法如下:

在jsTree.js里

(function ($) {
$.vakata.xslt = function (xml, xsl, callback) {
    var rs = "", xm, xs, processor, support;
    // TODO: IE9 no XSLTProcessor, no document.recalc
    if (window.ActiveXObject) {
        var xslt = new ActiveXObject("Msxml2.XSLTemplate");
        var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
        var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
        xmlDoc.loadXML(xml);
        xslDoc.loadXML(xsl);
        xslt.stylesheet = xslDoc;
        var xslProc = xslt.createProcessor();
        xslProc.input = xmlDoc;
        xslProc.transform();
        callback.call(null, xslProc.output);

        return true;
    }
    if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor === "undefined") {
        xml = new DOMParser().parseFromString(xml, "text/xml");
        xsl = new DOMParser().parseFromString(xsl, "text/xml");
        // alert(xml.transformNode());
        // callback.call(null, new XMLSerializer().serializeToString(rs));

    }
    if(typeof window.DOMParser !== "undefined" && typeof window.XMLHttpRequest !== "undefined" && typeof window.XSLTProcessor !== "undefined") {
        processor = new XSLTProcessor();
        support = $.isFunction(processor.transformDocument) ? (typeof window.XMLSerializer !== "undefined") : true;
        if(!support) { return false; }
        xml = new DOMParser().parseFromString(xml, "text/xml");
        xsl = new DOMParser().parseFromString(xsl, "text/xml");
        if($.isFunction(processor.transformDocument)) {
            rs = document.implementation.createDocument("", "", null);
            processor.transformDocument(xml, xsl, rs, null);
            callback.call(null, new XMLSerializer().serializeToString(rs));
            return true;
        }
        else {
            processor.importStylesheet(xsl);
            rs = processor.transformToFragment(xml, document);
            callback.call(null, $("<div />").append(rs).html());
            return true;
        }
    }
    return false;
};

 将

if (window.ActiveXObject)

改为

if (window.ActiveXObject || "ActiveXObject")

 问题解决!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值