Ich schreibe ein einfaches GreaseMonkey-Skript, in das ein jQuery-Plugin namens HoverIntent eingebettet ist. (Ich bin es einbetten, anstatt es zu hosten, weil es ein sehr kleines Plugin ist.)jQuery-Plugins in Greasemonkey-Skripten verwenden
Mein Problem: nachdem das Plugin seinen Event-Handler an ein DOM-Objekt anfügt, löst das Ereignis eine Fehlermeldung aus, die besagt: "jQuery ist nicht definiert . "
Ist es ein Problem mit dem Oszilloskop? Hier ist meine gesamte Skript:
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);
Es funktioniert gut, wenn ich es kopieren und einfügen, entfernen Sie alle spezifischen Tags GM, und führen Sie es aus meiner Konsole. Und this is the plugin I am embedding.
Gute Frage. Mein Verständnis ist, dass Userscripts geladen werden, nachdem das DOM geladen wurde, aber nur um auf der sicheren Seite zu sein, habe ich ein Dokument in meinem Skript verwendet, wie Sie oben sehen können. – picardo