Internet Explorer 8 中的 jQuery 问题

IT技术 javascript jquery internet-explorer-8
2021-02-02 15:06:31

我试图让我的 jQuery 函数在 IE8 上工作。我正在从 Google 的服务器 ( http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js )加载库

$(function(){})永远不会被调用。相反,我收到一个错误Object expected我打开开发人员并typeof $在控制台中运行,它显示为undefined.

我曾尝试访问我知道使用 jQuery (jquery.com) 的其他网站,并且这些都有效,这里是否有我可能遗漏的内容?

6个回答

定义变量时,在变量前写上“var”。当没有“var”时,IE8 就会死掉。

没有“var”声明在 IE7 和 IE9 中工作。很难理解,MS怎么会错过这样的bug?
2021-03-18 15:06:31
谢谢你们的回答......你们今天救了我的头:)
2021-03-21 15:06:31
你救了我的一天。谢谢!这实际上解决了我的 IE10 问题。现在,我的 jQuery 移动网站在所有主要浏览器中都非常受欢迎:)
2021-04-05 15:06:31
抱歉,这不是真的。我们var用来定义一个具有局部作用域的变量。如果你定义一个不带 的变量var,它实际上会创建一个具有全局作用域的属性,即作为 window 对象的一个​​属性。有关更多信息,请参阅此问题:stackoverflow.com/questions/1470488/...
2021-04-12 15:06:31

更正:

检查您的脚本包含标签,是否使用

type="application/javascript" src="/path/to/jquery" 

改成

type="text/javascript" src="/path/to/jquery" 
这也是对我的修复
2021-03-19 15:06:31

我遇到了类似的问题。事情在 IE6、Firefox 和 IE8 中运行在 IE7 兼容模式下;但不是在“正常”的 IE8 中。我的解决方案是将此代码放在标题中

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

至于为什么 jquery 在 IE8 中不起作用,我不清楚。

由于有人只是低估了这一点;请告诉我们原因并强调您的首选方法。
2021-03-31 15:06:31
如果是 hack,那是微软推荐的。msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx
2021-04-05 15:06:31
太可怕了!它不能解决问题;它只是绕过它,它可能会产生大量其他问题。(IE7 兼容模式实际上与 IE7 并不完全相同,它有自己的错误、怪癖和故障,这些错误、怪癖和故障都不会出现在普通 IE7 和 IE8 中)
2021-04-10 15:06:31
我遇到了这个问题,我用上面理查德的解决方案解决了这个问题。我将所有 <script type="application/javascript" ... 更改为 <script type="text/javascript",包括我对 google cdn 的 jquery 引用,并且 IE8 开始工作。我不必将整个页面都放入兼容模式来执行此操作。
2021-04-11 15:06:31
如果您有更好的解决方案,请分享。许多在 IE 中运行的方法都是 hacks。
2021-04-14 15:06:31

解决方案是升级到最新版本的jQuery。我遇到了完全相同的问题并升级到 1.4.2,它在 IE8 中再次正常工作。

似乎完全向后兼容我所做的所有 jQuery 1.3.2 东西,所以这里没有抱怨!

我在 1.8 上遇到了这个问题,无论这意味着什么。
2021-04-12 15:06:31

我遇到了这个问题并尝试了这里提到的解决方案但没有成功。

最终,我意识到我正在使用一个链接到脚本的 Google CDN 版本,http URL而嵌入脚本的页面是https page.

这导致IE无法加载 jquery(它会提示用户是否只想加载安全内容)。更改 Google CDN URL 以使用 https 方案为我解决了这个问题。

我知道这是一篇旧帖子,但你可能想看看这个——它有一个部分介绍了谷歌现在建议你使用它的 CDN(它消除了这个问题)
2021-03-17 15:06:31