Что делает jQuery.noConflict (); в конце jquery-1.4.2.min.js означает? - PullRequest
0 голосов
/ 12 февраля 2012

У меня есть этот файл из темы моего магазина Magento:

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

И кто-то (тема была куплена) добавил одну дополнительную строку кода в конце:

jQuery.noConflict();

Этот файл javascript используется на каждой странице моего магазина: страница продукта .

Мой вопрос: что эта линия делает там? Что это значит?

Я хотел использовать версию, размещенную в Google, но у нее нет jQuery.noConflict (); в конце я подумал, что это может не подходить для моего сайта, потому что jQuery.noConflict (); может понадобиться Но я не знаю, зачем это нужно. Или это?

Могу ли я безопасно сменить http://www.princessly.com/js/jquery/jquery-1.4.2.min.js на версию, размещенную в Google?

Может кто-нибудь просветить меня, пожалуйста? Большое спасибо!

Ответы [ 2 ]

1 голос
/ 12 февраля 2012

В настоящее время для потребуется режим noConflict для запуска jQuery в установке Magento (поскольку она поставляется с Prototype). Это не обязательно означает, что вы не можете использовать версию Google CDN. Вам просто нужно убедиться, что вы добавили свой собственный файл JavaScript, который загружается после, но перед прототипом, который установит noConflict.

Не совсем полезно для вас, но Magento 2 будет использовать jQuery, а не Prototype.

1 голос
/ 12 февраля 2012

Он сообщает библиотеке jQuery об удалении всех переменных jQuery из глобальной области видимости.Таким образом, вы можете использовать его вместе с другой библиотекой, которая, например, зависит от $ (без конфликта).Другой такой библиотекой может быть prototype.js.Если вы используете исключительно jQuery и ваш локальный javascript не переназначает $, тогда вы можете удалить эту строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...