J'essaie d'inclure cluetip dans mon script GreaseMonkey. Pour ce faire, je l'ai défini mon userscript comme suit:Comment inclure cluetip dans un script GreaseMonkey
// ==UserScript==
// @name myscript
// @namespace myscript
// @description This is my script
// @require http://plugins.learningjquery.com/cluetip/jquery.cluetip.js
// @require http://plugins.learningjquery.com/cluetip/jquery.bgiframe.min.js
// @require http://plugins.learningjquery.com/cluetip/jquery.hoverIntent.js
// @resource jquery.cluetip.css http://plugins.learningjquery.com/cluetip/jquery.cluetip.css
// @include http://mysite.com/*
// ==/UserScript==
(function(){
function GM_init() {
if(typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(GM_wait,100);
} else {
jQuery_init(unsafeWindow.jQuery);
}
}
GM_init();
function jQuery_init($) {
$('a.testTitle').cluetip({splitTitle: '|'});
}
})();
Quand j'importer le script, il semble importer bien et mon config.xml se termine avec cette entrée:
<Script filename="myscript.user.js" name="myscript namespace="myscript" description="This is my script" enabled="true" basedir="myscript">
<Include>http://mysite.com/*</Include>
<Require filename="jquerycluetip.js"/>
<Require filename="jquerybgiframemin.js"/>
<Require filename="jqueryhoverintent.js"/>
<Resource name="jquery.cluetip.css" filename="jquerycluetip.css" mimetype="text/css"/>
</Script>
Une fois le script est installé je vois le référencé nécessite et les ressources ont été téléchargées et renommées selon les entrées dans le dossier myscript.
Lorsque je charge la page myscript ne s'exécute pas. J'ai essayé de redémarrer Firefox, de désinstaller et de réinstaller le script et de configurer des alertes pour m'assurer que le script ne fonctionne pas. Je ne sais pas ce qui ne va pas. Quelqu'un at-il une solution?
Pour information, JQuery est déjà inclus dans la page, je n'ai donc pas besoin de l'exiger. Si je supprime toutes les entrées de fichier config.xml, supprimez l'appel de fonction, redémarrez Firefox et essayez simplement de modifier le lien avec JQuery standard tout fonctionne correctement.
Remarque: J'ai également essayé d'ajouter JQuery à la liste @Require. Cela signifie que mon script se charge, mais échoue lors de l'appel de la première fonction de bloc.
Pouvez-vous poster le script sur http://userscripts.org/ ou ailleurs et nous dire à quel site il s'agit? Je voudrais le déboguer moi-même, mais je suis trop paresseux pour faire tout le travail. J'ai écrit un certain nombre de scripts GM complexes dans le passé, mais cela fait longtemps. –
c'est en fait pour un script GM pour SO. J'ai posté une explication et un lien vers la version actuelle, en utilisant ma solution de contournement, sur meta (http://meta.stackexchange.com/questions/23656/greasemonkey-script-to-gold-plate-sofu) –
J'ai modifié votre SO script pour utiliser cette méthode, et il semblait toujours fonctionner correctement pour moi. J'ai simplement supprimé le @require et ajouté le code GM_init en haut. Ensuite, j'ai renommé la fonction d'initialisation anonyme en jQuery_init ($) et enlevé le $()() –