为什么jQuery 1.8在Internet Explorer 9以及IE8中不起作用?(截至2012年9月IE9最新版本)

ada*_*ven -3 javascript jquery internet-explorer-9

这是一个普遍的问题,但我确信我不是唯一一个遇到Internet Explorer(粗略)和jQuery 1.8问题的人.

(免责声明:我知道这是一个非常广泛的问题,但我希望为自己和未来的Stack用户编译一些资源用于故障排除,因为到目前为止我还没有找到任何帮助.)

题:

在jQuery中构建的某些事件/函数在Chrome,FireFox,Safari,甚至在Internet Explorer 7和8中都可以正常运行,但在Internet Explorer 9中不能正常运行的原因是什么?

我很清楚我可以在我的页面上模仿"IE8"来解决这个问题,但这并不能解决问题.

这是我到目前为止所完成/检查的内容:

  • 确保document.ready在结束body标记之前包含所有代码.
  • 所有script标签都有type=text/javascript.
  • 删除了我的JS中的任何"尾随逗号" - IE不喜欢它们.
  • 所有的文件标签(即<!doctype html>,<head>等等)是正确的.

我还能做些什么来确保/帮助Javascript和jQuery在Internet Explorer 9中运行至少和在IE8中运行一样(不在兼容模式下运行或模拟IE8)?

UPDATE

如果我将我的<script>标签<body>放在页面中包含jQuery和我的自定义JS ,它的MOST在IE9中正确执行.

ada*_*ven 5

如果其他人有同样的问题,经过进一步的研究,我找到了解决方案:在jQuery 1.8中,核心中存在一个错误.

12282:1.8.0回归 - 文件就绪在IE 9/10上过早发布.

我升级到1.8.1,一切似乎在IE 7,8和9(以及所有"真正的"浏览器)中正​​常运行