Как встраивать дополнительные плагины jQuery в Greasemonkey

StackOverflow https://stackoverflow.com/questions/439286

  •  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'>"); 

Другие советы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top