6

我在使用 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

在此处输入图像描述

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

PS - 这是我第一次“认真”的 Web 开发工作,我现在明白为什么 IE 在开发社区中如此受人憎恨。

4

3 回答 3

13

jQuery 2.0 放弃了对某些浏览器的支持。请参阅http://blog.jquery.com/2013/04/18/jquery-2-0-released/上的发布帖子

引用帖子:

不再支持 IE 6/7/8:请记住,如果在模拟旧版本的“兼容性视图”模式下使用 IE9 甚至 IE10,这也会影响 IE9 甚至 IE10。为了防止这些较新的 IE 版本滑回史前模式,我们建议您始终使用 X-UA-Compatible 标记或 HTTP 标头。如果您可以使用 HTTP 标头,则性能会稍好一些,因为它避免了潜在的浏览器解析器重新启动。

减小大小:最终的 2.0.0 文件比 1.9.1 文件小 12%,这要归功于消除了仅 IE 6、7 和 8 所需的补丁。我们曾希望删除更多代码并提高性能,但较旧的 Android/WebKit 2.x 浏览器现在是最薄弱的环节。我们正在仔细观察 Android 2.x 的市场份额,以确定我们何时可以将其从支持列表中删除,并且不要指望它需要很长时间。

如果 IE 6/7/8 是一个问题,请保留 jQuery 1.9(编辑 2015-11-17:jQuery 1.11.3 是 jQuery 的当前 1.x 版本。)。

于 2013-06-30T16:04:23.337 回答
1

在您的 html 文件中使用以下链接要点中的代码,并为最新浏览器添加 jquery 2.0+,为旧浏览器添加 1.9

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

于 2014-05-26T10:49:04.100 回答
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>
于 2014-06-23T07:57:59.090 回答