Трудно сказать, что вы делаете со своей библиотекой, но, похоже, вы создаете какой-то виджет для использования на нескольких сайтах.
Отсюда было обновлено после того, как поучительный комментарий от @K Prime заставил меня исследовать, как можно включить две копии jQuery при необходимости:
Как правило, плохо использовать jQuery, если вы создаете виджет, который будет жить на сайте вне вашего элемента управления и будет добавлен на сайт с помощью "скопировать это Вставить код и вставить на свой сайт "тип функциональности. (Конечно, виджетов и плагинов jQuery предостаточно, но они, как правило, выбираются и устанавливаются / реализуются разработчиками, а не универсальной реализацией типа виджетов "copy-n-paste")
Вероятно, главная причина (после того, как вы поймете, что может запустить две копии jQuery на одной странице) - это увеличение размера файла. Будет ли это оправдано, будет зависеть от ваших конкретных потребностей и функций. Простой маленький виджет = прямой JS. Сложное расширение интерфейса сайта, тогда оно, вероятно, стоит увеличения размера файла.
Чтобы включить его правильно (чтобы вы не столкнулись с конфликтами на их сайте), следуйте рабочему процессу, который выглядит примерно так:
- Динамически добавлять jQuery на их страницу с помощью API Google, как указано в других ответах здесь.
- Запустите
var mywidget_jQuery = $.noConflict( true );
, который восстановит первоначальное значение $
и восстановит первоначальное значение window.jQuery
.
- Динамически добавьте ваш файл скрипта, но обязательно оберните все это в самозапускающуюся анонимную функцию, подобную этой:
JS
(function($){
... Your code here ...
})(mywidget_jQuery);
Теперь вы можете безопасно использовать $
внутри своей специальной функции и все функции jQuery, которые вы хотите без проблем.
Дополнительный кредит Вы можете заключить шаги 1 и 2 в оператор if, который проверяет, определено ли window.jQuery
, и, если оно, проверьте, достаточно ли jQuery.fn.version
для выполнения вашего кода. Если один из тестов не пройден, выполните шаги 1 и 2. Однако, если он пройдет успешно, просто запустите var mywidget_jQuery = window.jQuery
, чтобы скрипт, включенный в шаг 3, продолжал работать.