jQuery Off () funktioniert nicht in Chrome Extension
Ich habe eine Chrome-Erweiterung basierend auf @ erstellhttps: //robots.thoughtbot.com/how-to-make-a-chrome-extensio (am Ende nach den fertigen Dateien suchen)
Ich habe zwei Änderungen vorgenommen. Ich habe JQuery 3.1.1 minimiert anstelle der älteren Version auf der obigen Seite verwendet. und ich habe content.js geändert:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "clicked_browser_action" ) {
$(document).off("touchmove mousewheel mousemove scroll");
}
}
);
Der Befehl $ (document) .off () funktioniert nicht, wenn ich auf die Schaltfläche der Erweiterung klicke, während eine entsprechende Testseite geöffnet ist. Es gibt keinen Fehler, es macht einfach nichts.
Ich habe nachgesehen. Wenn ich @ einge$(document).off("touchmove mousewheel mousemove scroll");
in die Konsole auf der Seite, die ich beeinflussen möchte, funktioniert es gut. Wenn in der Erweiterung ausgeführt wird, ist dies nicht der Fall.
Ich habe versucht, das zu überprüfendocument
war in der Erweiterung korrekt unddocument.domain
gibt das richtige Ergebnis aus, wenn ein Haltepunkt in der Erweiterung (und in der Konsole auf der Seite) aktiviert ist.
Ich habe versucht, @ zu überprüfjQuery._data( jQuery(document)[0]).events["touchmove"]
(und "mousewheel", "mousemove", "scroll") und es funktioniert in der Konsole, aber ich erhalte eine Fehlermeldung Cannot read property 'touchmove' of undefined
) wenn ich die extension breakpoint. Als ich weiter nachgesehen habe,jQuery._data( jQuery(document)[0])
gibt Folgendes aus:
In Konsole:
Object
events: Object
handle: function (e)
__proto__: Object
In Haltepunkt:
Object
__proto__: Object
Ich habe ein paar andere Dinge ausprobiert (zum Beispiel, dass jQuery zugänglich ist und funktioniert usw.).
Kann jemand helfen