Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE 7&;8不会加载脚本_Javascript - Fatal编程技术网

Javascript IE 7&;8不会加载脚本

Javascript IE 7&;8不会加载脚本,javascript,Javascript,我正在使用以下代码为我的小部件加载所需的JS库: function loadScrip(url, callback) { var script = document.createElement("script") script.type = "text/javascript"; if (script.readyState) { //IE script.onreadystatechange = function () { if (s

我正在使用以下代码为我的小部件加载所需的JS库:

function loadScrip(url, callback) {
    var script = document.createElement("script")
    script.type = "text/javascript";

    if (script.readyState) { //IE
        script.onreadystatechange = function () {
            if (script.readyState == "loaded" || script.readyState == "complete") {
                script.onreadystatechange = null;
                callback();
            }
        };
    } else { //Others
        script.onload = function () {
            callback();
        };
    }
    script.src = url;
    document.getElementsByTagName("head")[0].appendChild(script);
}


loadScrip("http://code.jquery.com/jquery-1.8.3.js", function () {
    loadScrip("http://code.jquery.com/ui/1.9.2/jquery-ui.js", function () {
        alert("Loaded");
        js13 = jQuery.noConflict(true);
        main();
    });
});
这在所有浏览器和IE9中都非常有效

但是在IE 7和8中,由于某种原因jquery-ui.js不会加载,我得到了错误:

Line: 563
Character: 4
Code: 0
Error Message: Object doesn't support this property or method
URL: http://code.jquery.com/jquery-1.8.3.js

有没有办法解决这个问题?我的头撞在墙上,因为这个问题

完全跨浏览器测试脚本:

var CFLoad = {
    fScript : null,
    isFileReady : function ( v ) {
        return ( ! v || v == "loaded" || v == "complete" || v == "uninitialized" );
    },
    js : function(src,cb,attrs) {
        var s = document.createElement( "script" ),
            done = !1, i;
        s.src = src;
        s.type = "text/javascript";
        for ( i in attrs ) {
            s.setAttribute( i, attrs[ i ] );
        }
        s.onreadystatechange = s.onload = function () {
            if ( ! done && CFLoad.isFileReady( s.readyState ) ) {
                done = !0;
                if(cb) cb(s);
                s.onload = s.onreadystatechange = null;
            }
        };
        window.setTimeout(function() {
            if( !done) {
                done = !0;
                if(cb) cb(s,1);
            }
        }, 5000);
        if(this.fScript===null) this.init();
        this.fScript.parentNode.insertBefore( s, this.fScript );
    },
    css : function(href,cb,attrs) {
        var l = document.createElement("link"),i;
        l.href = href;
        l.rel = "stylesheet";
        l.type = "text/css";
        for ( i in attrs ) {
            l.setAttribute( i, attrs[i]);
        }
        if(this.fScript===null) this.init();
        this.fScript.parentNode.insertBefore(l,this.fScript);
        if(cb) window.setTimeout(cb, 0);
    },
    init : function() {
        this.fScript = document.getElementsByTagName( "script" )[ 0 ];
    }
};
用法

CFLoad.js("http://code.jquery.com/jquery-1.8.3.js", function (script_tag, failed) {
    if(!failed) {
        CFLoad.js("http://code.jquery.com/ui/1.9.2/jquery-ui.js", function(s, f) {
            if(!f) {
                alert("Loaded");
                js13 = jQuery.noConflict(true);
                main();
            }
        })
    }
});

为什么要同时加载jquery 1.8.3和1.9.2?如果使用纯脚本标记jquery-ui.js,那么jquery-ui.js会被加载并工作吗?@AshReva No,这就是jquery 1.8.3和jquery ui 1.9.2哇,这太棒了!谢谢大家分享这个!!