-3

这是一个一般性的问题,但我确信我不是唯一一个遇到 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)?

更新

如果我在页面中放置我的<script>标签以包含 jQuery 和我的自定义 JS <body>,它的大部分在 IE9 中都能正确执行。

4

1 回答 1

5

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

12282:1.8.0 回归 - 文档准备在 IE 9/10 上过早触发。

我已升级到 1.8.1,一切似乎在 IE 7,8 和 9(以及所有“真实”浏览器)中都能正常运行

于 2012-09-11T20:53:01.570 回答