1
运行
我用一个脚本来从库中加载脚本(大文件),它的工作原理是这样的:插入的JavaScript在IE8
- 负载通过XMLHttpRequest
- 脚本创建一个新的脚本里面的脚本(新文本节点的innerText或 的innerHTML)
- 元素追加的头部
没有什么很复杂的新元素。但IE8只是没有完成这项工作!它不允许通过任何方法将脚本插入脚本元素标记中!所以我尝试另一种方法:
<script type="text/javascript" language="javascript">
function teste(){
var elemScript = document.createElement('script');
elemScript.type = 'text/javascript';
elemScript.language = 'javascript';
elemScript.src = 'http://somewhere/somecode.js';
var headTag = document.getElementsByTagName('head')[0];
headTag.appendChild(elemScript);
}
window.onload = teste;
</script>
IE8只是不说什么。我不知道它是否正在加载,但我确定不会执行代码(测试警报)。 我知道,jQuery和其他库这样做,并可以使其在所有浏览器中工作(IE8 +将罚款给我)。他们如何做到这一点?有没有简单的方法来解决这个纯粹的JavaScript?
据射击,里面有睾丸中确认()是我没有包括简化代码。 – Gustavo 2012-08-07 18:11:33
我不知道它是如何激发ajax更新的onload,因为页面已经被加载。但是你有没有试过调用'teste();'? – falsarella 2012-08-07 18:15:05
这个脚本在头部,它在页面底部加载。如果有一些尚未加载的DOM引用,它将无法工作,所以我总是这样写 - 这是一个很好的编程习惯。 – Gustavo 2012-08-07 19:21:00