Как встраивать дополнительные плагины jQuery в Greasemonkey - PullRequest
5 голосов
/ 13 января 2009

Так что я смог заставить Greasemonkey и jQuery 1.2.6 работать вместе без проблем, но теперь мне интересно, как встроить дополнительные плагины jQuery в мой скрипт Greasemonkey, такие как плагин Eric Martin 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();

У кого-нибудь есть идеи? Спасибо.

Ответы [ 2 ]

11 голосов
/ 13 января 2009

Во-первых, если у вас все в порядке, если у вас нет доступа к отладке 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'>"); 
2 голосов
/ 13 февраля 2009

Также извлекайте страницы GreaseMonkeyWiki на , используя JQuery в скрипте GreaseMonkey и в блоке @ require.

...