Question

J'ai donc réussi à faire en sorte que Greasemonkey et jQuery 1.2.6 fonctionnent ensemble sans problème, mais je me demande maintenant comment intégrer des plugins jQuery supplémentaires dans mon script Greasemonkey, tels que le plugin SimpleModal d'Eric Martin ( http://www.ericmmartin.com/projects/simplemodal/ ).

Le code suivant obtient jQuery chargé, mais je ne sais pas comment faire pour que SimpleModal soit chargé correctement:

    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();

Quelqu'un a des idées? Merci.

Était-ce utile?

La solution

Tout d'abord, si vous êtes d'accord pour ne pas avoir d'accès au débogage Firebug, le moyen le plus simple d'inclure jQuery consiste à utiliser les paramètres requis:

// @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 

En suivant cette ligne, vous pouvez inclure d’autres scripts externes. La plupart des plugins jquery ne sont pas disponibles comme l’API jquery, mais vous pouvez l’héberger vous-même.

L'utilisation de require vous permet également de vider tout le code de chargement et d'aller simplement avec:

$(document).ready( function() { ... });

Firebug signalera des bogues, mais vous ne pourrez pas accéder au débogueur.

En outre, une fois que vous avez chargé jQuery, vous pouvez charger d’autres éléments afin de les aimer:

.
$('head').append("<link href='http://www.somewebsite.com/styles.css' type='text/css' rel='stylesheet'>"); 

Autres conseils

Consultez également les pages GreaseMonkeyWiki sur en utilisant JQuery dans un script GreaseMonkey et sur le << href = "http://wiki.greasespot.net/Metadata_block#.40require" rel = "nofollow noreferrer"> @ nécessite un bloc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top