JQuery в виджете

Я хочу использовать jQuery в библиотеке надстройки JS, которую можно добавлять на случайные сайты. Эти веб-сайты могут или не могут использовать JQuery уже.

У меня есть 3 вопроса вокруг этого на самом деле:

  1. Я, вероятно, буду загружать jQuery динамически из моего собственного скрипта js (не из тега скрипта в заголовке документа). Будет ли JQuery работать таким образом? Как я могу убедиться, что он будет работать вовремя, не имея стандартного $(document).ready(function(){} в основном документе?

  2. Что я должен сделать, чтобы избежать конфликтов с существующим jQuery (если есть) в коде веб-сайта.

  3. Есть ли рекомендуемый способ добавить виджет, включающий jQuery, на случайные веб-сайты, обеспечивая при этом минимальный код и простую интеграцию.

2 ответа

Решение

Это довольно свободно и неполно - и действительно должно быть отправной точкой:

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()

Вы можете попробовать решение по следующей ссылке, если оно работает для вас. По сути, существует плагин, который создает виджеты на лету, а затем асинхронно запрашивает другой URL-адрес страницы и устанавливает возвращаемый контент как внутренний HTML-код виджета.

http://sites.google.com/site/spyderhoodcommunity/tech-stuff/jquerydashboardwidgetplugin

Другие вопросы по тегам