Как встраивать дополнительные плагины jQuery в Greasemonkey
-
22-07-2019 - |
Вопрос
Итак, я смог заставить 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();
У кого-нибудь есть идеи? Спасибо.
Решение
Во-первых, если вы согласны с тем, что у вас нет доступа к отладке 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 и href = "http://wiki.greasespot.net/Metadata_block#.40require" rel = "nofollow noreferrer"> @ require block.