我正在尝试在脚本完全加载后做一些事情。(IE8)
我用于测试的脚本:http: //ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
和无效的:http ://ajax.googleapis.com/ajax/libs/ jquery/1.5.1/jquery.minaaaaaaaa.js
编码...
var script = create the element and append to head...
// this works fine with FF/Chrome/...
script.onload = function() {alert('script loading complete');}
script.onerror = function() {alert('error loading script');}
// and for IE
script.onreadystatechange = function() {
// this will alert 1.loading 2.loaded
alert(this.readyState);
// this never works
if(this.readyState == 'complete') {alert('script loading complete');}
// this works with either a valid or INVALID url
else if(this.readyState == 'loaded') {alert('script loaded');}
};
在我的情况下,“完整”永远不会显示,“加载”即使网址无效也会显示。所以没有办法判断一个脚本是否在 IE 下正确加载。
难道我做错了什么?为什么我从来没有得到完整的状态?
更新
好的,我刚刚阅读了一些文章,似乎 readystate 不是检测脚本加载的可靠方法。
那么还有其他方法吗?没有 jQuery,而是纯 Javascript。