在IE中动态加载脚本时javascript通知

时间:2011-08-26 12:17:52

标签: javascript

我有一个小问题。我想在脚本加载完成后收到通知。这是我的代码:

var headID = document.getElementsByTagName("head")[0];         
        var newScript = document.createElement('script');
        newScript.type = 'text/javascript';
        newScript.src = 'http://code.jquery.com/jquery-1.6.2.min.js';

        newScript.onreadystatechange= function () {
            if (script.readyState == "loaded" || script.readyState == "complete"){
                script.onreadystatechange = null;
                alert("Script is ready!");
            }
        };
        newScript.onload= function(){
            alert("Script is ready 2!");

        };

在Firefox,Chrome,Opera中一切正常,但在Internet Explorer(IE9)中没有。 我在这个网站上发现IE使用了script.onreadystatechange,但它似乎不适用于IE9(我没有在旧版本上试过)。该脚本在IE中加载但我没有收到通知,这对我很重要。

感谢。

PS:我知道stackoverflow上有类似的问题,我读过它们,但没有一个能解决我的问题,或者用这种特殊方式对待它,这就是我创建这个问题的原因。

1 个答案:

答案 0 :(得分:-1)

这不是特别优雅的解决方案,但您可以执行无限循环并检查加载脚本中是否设置了变量。如果已设置,则脚本将加载如下:

    While(true){
         if( typeof foo != "unidentified" ){alert('loaded'); break;}
    }