JQuery в виджете
Я хочу использовать jQuery в библиотеке надстройки JS, которую можно добавлять на случайные сайты. Эти веб-сайты могут или не могут использовать JQuery уже.
У меня есть 3 вопроса вокруг этого на самом деле:
Я, вероятно, буду загружать jQuery динамически из моего собственного скрипта js (не из тега скрипта в заголовке документа). Будет ли JQuery работать таким образом? Как я могу убедиться, что он будет работать вовремя, не имея стандартного $(document).ready(function(){} в основном документе?
Что я должен сделать, чтобы избежать конфликтов с существующим jQuery (если есть) в коде веб-сайта.
Есть ли рекомендуемый способ добавить виджет, включающий 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