什么是jQuery.noConflict();在jquery-1.4.2.min.js的末尾是什么意思?

时间:2012-02-12 10:21:24

标签: javascript jquery magento

我的Magento商店主题中有这个文件:

http://www.princessly.com/js/jquery/jquery-1.4.2.min.js

有人(主题被买了)在最后加了一行代码:

jQuery.noConflict();

此javascript文件用于我的商店的每个页面:a product page

我的问题是,那条线路做了什么?这是什么意思?

我想使用Google托管版本,但因为它没有jQuery.noConflict();最后,我认为它可能不适合我的网站,因为jQuery.noConflict();可能需要。但我不知道为什么需要它。或者是吗?

我可以安全地将http://www.princessly.com/js/jquery/jquery-1.4.2.min.js更改为Google托管版本吗?

请允许有人启发我吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

它告诉jQuery lib从全局范围中删除所有jQuery变量。这样你可以将它与另一个库一起使用,例如依赖于$(没有冲突)。另一个这样的库可能是prototype.js。如果你是专门使用jQuery并且你的本地javascript没有重新分配$那么你可以删除该行。

答案 1 :(得分:1)

目前,您需要noConflict模式才能在Magento安装中运行jQuery(因为它随Prototype一起提供)。这并不一定意味着您无法使用Google CDN版本。您只需要确保添加自己的JavaScript文件,然后在原型之前加载,这将设置noConflict。

现在对你没有什么帮助,但Magento 2将使用jQuery而不是Prototype。