这是我的JS插页:
<script type="text/javascript" src="include/profile.js"></script>
在带有“兼容性视图”的IE8中,文件永远不会加载。文件中的第一行是一个简单的alert()调用,因此我知道它已加载。将浏览器更改为标准视图,并且加载正常。
另外,如果我添加:
<meta http-equiv="X-UA-Compatible" content="IE=100" >
强制使用标准视图并加载正常。
知道为什么会这样吗?我无法测试IE7,但我知道JS文件也在IE6中没有加载。
现在标签位于文件的部分。
答案 0 :(得分:3)
IE8,Safari,Firefox等似乎可以容忍某些JavaScript语法错误。 IE7和IE6(以及“兼容性视图”中的IE8)不会,并且它们也不会抛出解析错误或任何其他类型的线索。
将我的代码粘贴到http://www.jslint.com/中会发现一些语法错误,这些错误并未影响其他浏览器中代码的操作。所以嘘我。
答案 1 :(得分:2)
好。在Windows上的IE8和safari 5上有同样的问题,最后得到了这个工作。这个真的很美......
我有一个带有名为'class'的参数的函数导致了这个问题。重命名为clsname修复了问题。显然,FF和铬对此很宽容。
答案 2 :(得分:0)
启用脚本调试,看看在兼容模式下是否收到javascript错误。即使加载了错误,错误也会使javascript无法执行。您可能还想使用IE8中的开发人员工具来调试javascript和/或验证文件是否已加载。
答案 3 :(得分:0)
只花了几个小时 - IE7&amp; 8遭受“返回”识别者的困扰 我有:
m["return"] = 123;
var x = m.return; // SILENT ERROR!
显然,renamaing标识符可以解决这个问题