J'écris un script GreaseMonkey simple dans lequel un plugin jQuery nommé hoverIntent est incorporé. (Je l'incorpore plutôt que de l'héberger car c'est un très petit plugin.)Utilisation de plugins jQuery dans des scripts Greasemonkey
Mon problème: après que le plugin attache son gestionnaire d'évènement à un objet DOM, l'évènement déclenche un message d'erreur qui dit: "jQuery n'est pas défini "
Est-ce un problème de portée? Voici mon script entier:
if(unsafeWindow.console){
var GM_log = unsafeWindow.console.log;
}
(function($){
//HoverIntent
$.fn.hoverIntent=function(f,g){...};
//Removed the plugin code. You can see it in the link at the bottom
//of the post.
//DOM is ready
//Fetch all the rows with arrows
$('.arrow')
.each(function(){
$(this).hoverIntent(mouseOver,mouseOut);
});
//mouseOver
function mouseOver(){
//THIS IS WHERE THE ERROR HAPPENS
$(this).click();
}
//mouseOut
function mouseOut(){ //nothing here.
}
})(unsafeWindow.jQuery);
Il fonctionne très bien quand je copie le coller, supprimer tous les balises spécifiques GM, et l'exécuter à partir de ma console. Et this is the plugin I am embedding.
Bonne question. Ma compréhension est que les scripts d'utilisateurs sont chargés après que le DOM soit chargé, mais juste pour être du bon côté, j'ai utilisé un document prêt dans mon script comme vous pouvez le voir ci-dessus. – picardo