为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)

Why is jQuery 1.8 Not Working in Internet Explorer 9 as well as IE8 ? (IE9 most current version as of Sept 2012)

本文关键字:2012年 截至 9月 新版本 最新版 IE9 不能 jQuery IE8 InternetExplorer9 为什么      更新时间:2023-09-26

这是一个普遍的问题,但我相信我不是唯一一个遇到Internet Explorer(gross)和jQuery 1.8问题的人。

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

问题:

jQuery中内置的某些事件/函数在Chrome、FireFox、Safari、甚至InternetExplorer7&8但不在Internet Explorer 9中?

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

以下是我迄今为止所做/检查的内容:

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

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

更新

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

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

12282:1.8.0回归-IE上过早触发文档就绪9/10.

我升级到1.8.1,在IE 7、8和9(以及所有"真实"浏览器)中,一切似乎都能正常工作。