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