我正在使用以下代码段以非阻塞方式异步加载javascript。它适用于Chrome,FF但无法在Internet Explorer中运行。
我正在运行IE8并且无法在IE中点击以下代码的onload函数;
<script type="text/javascript">
(function () {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'js/load_outer.js';
s.onload = function () {
alert("Loaded");
}
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
})();
</script>
有人可以帮我识别错误吗?
由于
答案 0 :(得分:2)
IE(早于9)不支持onload
元素的<script>
事件,而是使用onreadystatechange
:
var complete = false;
script.onload = script.onreadystatechange = function() {
if (!complete && (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete')) {
complete = true;
// your callback code here
}
}