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

Итак, я смог заставить 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();

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
0
6 423
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

Большое спасибо, rockitsauce! Это сработало хорошо, когда я понял, что мне нужно удалить / переустановить скрипт Greasemonkey, чтобы он загружал локальные копии файлов jQuery.

Carl 13.01.2009 18:53

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

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