【问题标题】:IE10 jquery undefined, also ignoring X-UA metaIE10 jquery 未定义,也忽略了 X-UA 元
【发布时间】:2012-11-30 11:40:02
【问题描述】:

我们在 Magento 中设计了一个新站点,并且在 Firefox、Chrome、Opera 和 IE 7,8 和 9 和 10 合规性中看起来一切都很好......但是 IE10 标准在以下 noconflict 脚本(行32 个字符 5)

var $j = jQuery.noConflict(); 

我尝试将脚本移动到头部的顶部、底部、链接脚本的上方和下方。我尝试将 noconflict 放入脚本本身。我已经改变了导致问题的 DOCTYPES 想法。因为它在所有其他版本中都可以正常工作,所以我还尝试使用 X-UA for 9 并模拟 9 元,它们都被忽略,并尝试了 .htaccess 方法。无济于事。 IE10 似乎只是在做它想做的事。

由于我不是 jQuery 专业人士,并且仍在学习为 IE10 设计的细节,所以我很茫然,如果有任何关于如何修复它的建议,我将不胜感激。该网站仍在开发中已删除(请原谅我没有发布正确的链接,因为我们还不希望它被抓取)。

【问题讨论】:

  • 试试这个:var $j = $.noConflict();
  • 感谢 frenchie 的建议,但结果相同 - jQuery 未定义。
  • @frenchie 如果$ 是通过jQuery 定义的,对象jQuery 也总是被定义。
  • @feeela:我只是建议尝试一下。不看代码很难猜出问题所在。
  • 尝试将行更改为 var $j = $;看看会发生什么;你可能不需要 noConflict();函数,它可能刚刚被程序员“以防万一”插入到那里。

标签: php jquery magento internet-explorer-10


【解决方案1】:

您的错误并非 IE 10 独有 - 我在 Opera 12 中也可以看到:

http://www.ecigexpress.com/newecx/ 中第 6 行第 2 列抛出错误:

var $j = jQuery.noConflict();

Das verlinkte Skript wurde nicht geladen。 [未加载链接脚本。]

您正试图在包含 jQuery JS 文件之前访问 jQuery 对象。仔细检查您的 JS 包含的顺序。 jQuery 应该是第一位的。

此外,如果您使用如下结构,则根本不需要担心noConflict() 设置:

jQuery( document ).ready( function( $ ) {

    /* jQuery passes itself to the event handler function and we use
     * the local name $ for jQuery in this functions scope. */

     $( [] ) == jQuery( [] );

} );

【讨论】:

  • 可能与加载文件的顺序有关?
  • 感谢您的建议。我尝试移动脚本,但无法理解在哪个 jQuery JS 文件之前访问哪个 jQuery 对象。我真的很感谢你的帮助。我已经用压缩代码文件的链接更新了 OP,因为它可能会更容易。我为我的无知道歉。
  • @gingabox 只有一个 jQuery 文件(jquery-1.8.0.min.js; 你正在包括)。但是如果你在不知道的情况下包含了一个 jQuery 文件——也许这就是问题所在。只是随机移动脚本包含不是一个解决方案。尝试先学习一些 HTML 和 JS 基础知识。
  • @feeela 真的很感谢您的帮助,但不仅有一个 jquery 文件(实际上 1.8.0.min.js 不是其中之一)。有 jquery.jcarousel.min.js、jquery-1.8.2.min.js、jquery.init.js、jquery.1.5.1.js、jqueryNoconfig.js 和 jquery.slides.min.js。我将 jQuery 放在其他 40 个左右的 JS 文件之前(其中大部分是通过 php echo 包含的)。那是你的建议(即它不是随机的)。至于你的最后一句话……这就是提问的重点,不是吗?
  • @gingabox 正如我上面所写的——尝试学习 JS 基础知识,然后是 jQuery 基础知识。 jquery.jcarousel.min.js 是一个 jQuery 插件——不是库,如果你在不知道为什么这样做的情况下包含了 query-1.8.2.min.jsjquery.1.5.1.js,那可能是个问题……
猜你喜欢
  • 2013-11-08
  • 2012-07-08
  • 2014-04-18
  • 2017-01-11
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 2012-09-05
相关资源
最近更新 更多