我有一个小问题。我想在脚本加载完成后收到通知。这是我的代码:
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上有类似的问题,我读过它们,但没有一个能解决我的问题,或者用这种特殊方式对待它,这就是我创建这个问题的原因。答案 0 :(得分:-1)
这不是特别优雅的解决方案,但您可以执行无限循环并检查加载脚本中是否设置了变量。如果已设置,则脚本将加载如下:
While(true){
if( typeof foo != "unidentified" ){alert('loaded'); break;}
}