Итак, я смог заставить Greasemonkey и jQuery 1.2.6 работать вместе без проблем, но теперь мне интересно, как встроить дополнительные плагины jQuery в мой скрипт Greasemonkey, например плагин SimpleModal Эрика Мартина (http://www.ericmmartin.com/projects/simplemodal/).
Следующий код загружает jQuery, но я не уверен, как правильно загрузить SimpleModal:
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);
var GM_JQ_SM = document.createElement('script');
GM_JQ_SM.src = 'http://simplemodal.googlecode.com/files/jquery.simplemodal-1.2.2.min.js';
GM_JQ_SM.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ_SM);
// Check if jQuery's loaded
function GM_wait() {
if (typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(GM_wait,100);
}
else {
$ = unsafeWindow.jQuery;
}
}
GM_wait();
У кого-нибудь есть идеи? Спасибо.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Во-первых, если у вас нет доступа для отладки Firebug, самый простой способ включить jquery - использовать требуемые настройки:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js
// @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js
Следуя этой строке, вы можете включить другие внешние скрипты. Большинство плагинов jquery недоступны, как jquery api, но вы можете разместить их самостоятельно.
Использование require также позволяет сбросить весь код загрузки и просто перейти к следующему:
$(document).ready( function() { ... });
Firebug сообщит об ошибках, но вы не сможете войти в отладчик.
Кроме того, после загрузки jquery вы можете загружать другие элементы, как это:
$('head').append("<link href='http://www.somewebsite.com/styles.css' type='text/css' rel='stylesheet'>");
Также проверьте страницы GreaseMonkeyWiki на использование JQuery в скрипте GreaseMonkey и на Блок @require.
Большое спасибо, rockitsauce! Это сработало хорошо, когда я понял, что мне нужно удалить / переустановить скрипт Greasemonkey, чтобы он загружал локальные копии файлов jQuery.