JQuery в виджетах
Я хочу использовать jQuery в дополнение к JS-библиотеке, которая может быть добавлена на случайные сайты. Эти веб-сайты могут или не могут использовать jQuery уже.
На самом деле у меня есть три вопроса:
-
Я, вероятно, буду загружать jQuery динамически из своего собственного js script (а не из тега script в заголовке документа). Будет ли работать jquery таким образом? как я могу убедиться, что он заработает вовремя, не имея стандартного $(document).ready(function() {} в основном документе?
-
Что делать, чтобы избежать конфликтов с существующим jQuery (если есть) в коде веб-сайта.
-
Есть ли рекомендуемый способ добавления виджета, который включает jQuery на случайные сайты, обеспечивая минимальный код и простую интеграцию.
Ответы
Ответ 1
Это довольно свободно и незавершенно - и на самом деле это должно быть отправной точкой:
if (typeof $ != 'undefined') {
var msg = 'This page already using jQuery v' + $.fn.jquery;
} else {
var s = document.createElement('script');
s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js');
document.getElementsByTagName('head')[0].appendChild(s);
var msg = 'This page is now jQuerified';
}
затем подождите через краткое setTimeout() перед запуском функции ready()
Ответ 2
Вы можете попробовать решение по следующей ссылке, если оно работает для вас. В принципе, есть плагин, который создает виджеты "на лету", а затем асинхронно запрашивает другой URL-адрес страницы и устанавливает возвращаемое содержимое как внутренний html виджета.
http://sites.google.com/site/spyderhoodcommunity/tech-stuff/jquerydashboardwidgetplugin