我正面临着IE7 / IE8和jQuery的一些问题。我的代码适用于IE 10,FF,Chrome,Safari,Mobile Safari,Mobile Chrome。
目前,为了调试,我删除了自己的JS文件。所以这是代码:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
此页面上没有引用其他JS。我删除了所有其他JS引用,并且页面本身没有执行JS。当页面在IE8中加载时,我收到此错误:
Line: 4
Error: Object doesn't support this property or method
调试器显示上述内容。不确定问题出在哪里。任何帮助是极大的赞赏。
P.S。 - 这是我第一次'认真'的网络开发工作,我现在看到为什么IE在开发社区中受到如此多的憎恨。
答案 0 :(得分:13)
jQuery 2.0放弃了对某些浏览器的支持。请参阅http://blog.jquery.com/2013/04/18/jquery-2-0-released/
上的发布信息从帖子中引用:
不再支持IE 6/7/8:请记住,这也会影响IE9 甚至IE10如果在“兼容性视图”模式下使用它们 模仿旧版本。防止这些较新的IE版本 回到史前模式,我们建议你总是使用 X-UA兼容标签或HTTP标头。如果你可以使用HTTP头 性能略好,因为它避免了潜力 浏览器解析器重启。
缩小尺寸:最终的2.0.0文件比版本小12% 1.9.1文件,这要归功于消除了IE 6,7和8所需的补丁。我们希望删除更多代码并增加 性能,但较旧的Android / WebKit 2.x浏览器现在是最弱的 链接。我们正在仔细观察Android 2.x的市场份额来确定 当我们可以将其从支持列表中删除时,并且不要指望它 很长。
保持jQuery 1.9 (编辑2015-11-17:jQuery 1.11.3是jQuery的当前1.x版本。)如果IE 6/7/8是一个问题。
答案 1 :(得分:1)
使用html文件中以下链接的gist中的代码,并为最新浏览器添加jquery 2.0+,为旧浏览器添加1.9
答案 2 :(得分:0)
我遇到了同样的问题,实际上我正在引用这样的脚本;
<script src="../js/jquery-ui.js" type="text/javascript"></script>
<script src="../js/jquery.min.js" type="text/javascript"></script>
我通过首先调用jquery.min.js更改引用顺序的脚本来修复此问题。
<script src="../js/jquery.min.js" type="text/javascript"></script>
<script src="../js/jquery-ui.js" type="text/javascript"></script>
在web.config中添加以下内容:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=EmulateIE8" />
</customHeaders>
</httpProtocol>
</system.webServer>