下面的代码在IE6& IE7和几乎所有版本的FF。它只是在IE8中不起作用。一旦我将脚本标记添加到HTML中,它就不起作用了 - > HEAD元素我没有看到脚本在浏览器中加载(脚本中的警报没有显示)。我看到标签已插入HTML-HEAD中。
var head = document getElementsByTagName('head')[0];
// Check if the script is already loaded.
if (head ){
var script = document.createElement('script');
script.type = 'text/javascript';
script.language = 'JavaScript';
script.src = '/Tolven/scripts/' + jsFileName;
head.appendChild(script);
}
有人有这个问题吗?或者解决这个问题的任何线索?
答案 0 :(得分:1)
如果此脚本在<head>
标记中,则在解析并执行此脚本时,head不存在。因此,cource if (head)
是false
。
您正在使用JS框架 - 所以请随意使用它的工具。并且在使用之前也不要忘记包含您的框架。
<!-- if your are using mootools -->
<script type="text/javascript" src="mootools.js"></script>
<script type="text/javascript">
window.addEvent('domready', function() {
// Your code...
});
</script>
<!-- if your are using prototype -->
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
document.observe("dom:loaded", function() {
// Your code...
});
</script>
答案 1 :(得分:1)
答案 2 :(得分:0)
var head = document getElementsByTagName('head')[0];
应该是
var head = document.getElementsByTagName('head')[0];
脚本似乎在修改后工作。
答案 3 :(得分:-1)
这实际上是有效的。在运行时插入的一个脚本中存在错误(仅在IE8中发生)。最终它没有在下一个加载的页面中执行警报。谢谢你的答案。