我的(Drupal)项目(购物车)适用于所有现代浏览器。 IE8(和IE7)是一个例外。加载了jquery.js和所有js文件,我可以在View Source模式下看到它们,但是运行卡在里面:jquery.js。
新编辑:我的doctype确实相对较新,但我在同一平台(Drupal)上有其他项目,在IE8上运行时没有错误,具有相同的doctype
以下是我在 IE9中的开发人员工具中从控制台模式打印的内容:
浏览器模式:IE8文档模式:IE8标准
SCRIPT5022: Exception thrown and not caught
jquery.js?v=1.4.4, line 85 character 139
>> typeof jQuery
"function"
>> typeof $
"undefined"
如上所示,当我输入iE8中的JS控制台时:typeof $对象未定义,而在其他浏览器中则是函数。
似乎有效的一种解决方案是将文档模式设置为IE9: 这有效:
浏览器模式:IE8文档模式:IE9标准但这对我来说没有逻辑。
我失败的其他解决方案:
这是[http://stackoverflow.com/questions/879137/problem-with-jquery-in-internet-explorer-8][4]
答案 0 :(得分:0)
可能的解释:
$
功能在Chrome和Firefox的控制台中定义,但它是控制台的“内部”功能。 IE8调试工具没有定义这样的东西。
即使在没有jQuery的空标签上,$
也在Firebug和WebInspector控制台中定义。
此外,您的jQuery以noConflict模式运行,该模式可清除全局$
引用。
答案 1 :(得分:0)
这可能超过一个研究,但我认为IE跳进Qurik模式,因为doc类型指定不正确?
如果这没有用,你可以尝试:
if(typeof whatever != 'undefined') { ... }