IE8在jQuery中引发错误

时间:2013-06-30 16:01:27

标签: javascript jquery internet-explorer-8

我正面临着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

enter image description here

调试器显示上述内容。不确定问题出在哪里。任何帮助是极大的赞赏。

P.S。 - 这是我第一次'认真'的网络开发工作,我现在看到为什么IE在开发社区中受到如此多的憎恨。

3 个答案:

答案 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

https://gist.github.com/dwoodiwiss/5633393

答案 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>