【问题标题】:jQuery not working in IE AHHH?jQuery 不能在 IE 中工作 AHHH?
【发布时间】:2012-05-20 16:56:18
【问题描述】:

我为客户制作的网站在这里:http://vicewebdesign.com/resonantlight_com/

它在 chrome 和 firefox 中完美运行,但在 IE 中没有插件(jquery)工作,有 3 个 diff jquery 插件,主页 hre 有一个 nivo 滑块在 IE 中不起作用:http://vicewebdesign.com/resonantlight_com/

此页面上的 tabify 插件在 IE 中不起作用:http://vicewebdesign.com/resonantlight_com/perl

而且在同一页面上,quovolver 插件也无法正常工作。

我已经搜索了很多,我找到的所有分析器都是特定于插件的,我的问题是我的 jquery 没有工作。我尝试了 diff 库代码脚本,例如不同版本以及所有和最新版本。但没有任何效果!

【问题讨论】:

  • 我不能肯定这与您的问题有关,但您包含 jQuery 两次。在 google API 上有一个 jQuery 1.7 副本的链接,然后是您网站中托管的 jQuery 早期版本的副本。
  • @HackedByChinese 是对的,你包含了 jQuery 两次。首先是 1.7.2 + 一些插件(tabify、nivo、...),然后是 1.4.4 版本。这至少会杀死第一个 jQuery 版本,包括 IE 中的插件。 jQuery 本身应该适用于 IE 6+(不太确定是否也适用于 5.5+)

标签: jquery internet-explorer


【解决方案1】:

问题在于 IE9 现在正在遵守标准,这给试图规避 IE9 之前的问题的插件带来了问题。

一种可能的解决方案是使用此元标记强制 IE9 进入 IE8 标准模式:

 <meta http-equiv="X-UA-Compatible" content="IE=8"></meta> 

另一种选择是修复代码:

大多数 UI 插件驻留在$.browser.msie 以检查我们是否在 IE 中,但它们不检查版本。在我的情况下,解决方案(jquery.ui.checkbox.js)是用这个变量替换所有$.browser.msie调用:

var isIEAndVersionIsLowerThan9 = $.browser.msie && (parseInt($.browser.version, 10) < 9);

此解决方案比添加元标记更好,因为它将启用所有 IE9 功能。

【讨论】:

  • 我在 IE 中也遇​​到了同样的问题,@whorsdaddy 建议的解决方案对我来说很完美,它也应该对你有用。祝你好运。
  • 当我在 IE 中查看时,它都不起作用......嗯,nivo 滑块没有滑动,quvolver 显示所有引号而不是旋转,并且 tabify 插件,只是转到页面上的那个位置您单击选项卡而不是从视图中隐藏它们而不是单击。
  • 我把那个元鳕鱼放进去,它现在可以工作了,谢谢!!!!!!这太奇怪了,因为 nivo 在 IE 中的另一个站点上工作,但不是在这个站点上,以及所有其他 jquery 现在都在工作!
  • @pythonian29033:不要过度兴奋。如果需要添加meta标签,说明有些javascript不兼容IE9。将此视为临时解决方法...
【解决方案2】:

试试这个会有效

<meta http-equiv="X-UA-Compatible" content="IE=8"></meta> 

【讨论】:

    【解决方案3】:
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>jQuery from Microsoft AJAX CDN</title>
        </head>
        <body>
    
            <button id="btn">Show Message</button>
    
            <div id="message" style="display:none">
    
                <h1>Hello from jQuery!</h1>
    
            </div>
    
            <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
            <script>
                // Fallback to loading jQuery from a local path if the CDN is unavailable
                (window.jQuery || document.write('<script src="/scripts/jquery-1.9.0.min.js"><\/script>'));
            </script>
            <script>
    
                function domReady() {
                    $('#btn').click( showMessage );
                }
    
                function showMessage() {
                    $('#message').fadeIn('slow');
                }
    
                $( domReady );
    
            </script>
        </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2010-11-20
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多