我试图让我的jQuery函数在IE8上运行 . 我正在从Google的服务器(http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js)加载库 .
永远不会调用 $(function(){})
. 相反,我收到错误 Object expected
. 我打开了开发人员并在控制台中运行 typeof $
,它出现了 undefined
.
我曾尝试去其他我知道使用jQuery(jquery.com)的网站,这些都有用,有什么我可能会在这里缺少的吗?
20 回答
在定义变量之前,在变量之前写下“var” . IE8在没有“var”时死掉 .
更正:
检查您的脚本包含标记,是否正在使用
改成
我遇到了类似的问题 . 在IE7,Firefox和IE8中运行的东西在IE7兼容模式下运行;但不是'正常'的IE8 . 我的解决方案是将此代码放在 Headers 中
至于为什么jquery不在IE8中工作,我不清楚 .
解决方案是升级到最新版本的jQuery . 我有完全相同的问题,并升级到1.4.2,它在IE8中再次正常工作 .
似乎完全向后兼容我所做的所有jQuery 1.3.2的东西,所以没有投诉!
我遇到了这个问题并尝试了这里提到的解决方案但没有成功 .
最后,我意识到我使用
http URL
链接到脚本的Google CDN版本,而嵌入脚本的页面是https page
.这导致 IE 无法加载jquery(它会提示用户是否只想加载安全内容) . 更改Google CDN网址以使用https方案为我解决了问题 .
有些人在这篇文章上磕磕绊绊可能会遇到jquery和IE8这个问题,因为他们正在使用> = jQuery v2 . 使用此代码:
如果您在站点上使用HTTPS,则需要从Googles https服务器加载jQuery库 . 试试这个:https://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js(或最新的https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js)
jQuery没有加载,这可能不是特定于IE8 . 检查jQuery包含的路径 . 声明 . 或者更好的是,将以下内容用于CDN:
我正在修复由忘记包含doctype的其他人创建的模板 .
如果你没有声明
doctype
IE8 在Quirks模式下做了奇怪的事情 .引发错误
Object expected
,因为未加载Jquery . 这是因为浏览器安全(通常是IE),它不允许您执行外部JavaScript源代码 . 您可以通过以下方式更正此问题要么
我更喜欢第一种解决方案 .
onload事件并不总是在
<head> ... </head>
<head> ... </head>
上工作您可以通过在页面末尾添加onload脚本来强制它,如下所示 .
也许你插入两个脚本,它应该是工作 .
这修复了我在IE8中的问题:
在localhost上运行,我不得不将 https:// 更改为 http://
如果我尝试浏览安全链接,我会收到 Internet Explorer cannot display the webpage 友好警告 .
如果有问题,请务必先在浏览器中加载文本脚本!
我遇到了同样的问题 .
我解决了它验证IE8未正确配置以到达SRC URL .
我改变了这个,它运作正常 .
也许你已经inPrivate Filtering开启?
我遇到过同样的问题 . 解决方案是将链接添加到JQuery文件中作为IE中的可信站点 .
我认为你和我有同样的问题:
因为跨域引用 . 尝试在同一个域上托管jquery.js .
简而言之,这是因为IE8解析引擎 .
猜猜为什么微软也无法使用新的HTML5标签(如“部分”)?这是因为MS决定他们不会像世界其他地方那样使用常规的XML解析 . 是的,这是对的 - 他们对XML进行了大量的宣传,但最终,他们又回到了一个“愚蠢”的解析引擎上寻找“已知标签”,并在出现新事物时弄乱了东西 .
对于IE8和"load","get"和"post"的jquery问题也是如此 . 再次,微软决定"walk their own path"与版本8.希望他们在IE9中解决(d)这个问题,目前唯一的选择是使用
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
回退IE7解析 .哦......好吧,微软让我们再次在论坛上发布了一些内容 . ;)
在我的情况下,解决方案是从您尝试访问的URL中取出任何特殊字符 . 我有一个波浪号(〜)和一个百分比符号,$ .get()调用无声地失败 .
好!我知道jQuery正在加载 . 我知道
jQuery.textshadow.js
正在加载 . 我可以在Developer Tools中找到这两个脚本 .奇怪的部分:此代码在内容区域中工作,但不在 Banner 中 . 即使有专门的
fixIE.css
. 和当我把css内联时,它工作 . (那当然会弄乱FireFox . )我甚至在 Banner 中的文本字段周围放入条件IE浏览器,没有运气 .
我发现没有区别,并且
jquery-1.4.2.min.js
和jquery-1.2.6.min.js
都有相同的错误 .jquery.textshadow.js
是从jQuery网站下载的,同时试图找到解决此问题的方法 .这不会发布到网站上