Ich lese "Dive into Greasemonkey" (von Mark Pilgrim) geschrieben in 2005. Es erwähnt, dass Greasemonkey ein Benutzerscript in einem anonymen Funktionswrapper umschließt. Setzt Greasemonkey den Wrapper in den Quell-JavaScript-Code ein oder fügt ihn als Event-Handler hinzu, z. B. window.onload
?JavaScript - wie Greasemonkey funktioniert
7
A
Antwort
6
Verwandte Themen
- 1. Wie funktioniert ein GreaseMonkey-Userscript mit git?
- 2. Greasemonkey \ JavaScript In die Zwischenablage kopieren-Schaltfläche
- 3. Greasemonkey Javascript Key Drücken Sie Hilfe
- 4. Wie kann ich einige Seiten mit Javascript in Greasemonkey umleiten?
- 5. xpath greasemonkey
- 6. wie Kopf Skript mit Greasemonkey Code ersetzen
- 7. GreaseMonkey Script
- 8. Greasemonkey & globale Variablen
- 9. Greasemonkey Speicher
- 10. Listenelemente mit Greasemonkey entfernen
- 11. Greasemonkey, Chrome und unsafeWindow.foo()
- 12. Wie kann ich jQuery in Greasemonkey verwenden?
- 13. GreaseMonkey + Youtube + .click()
- 14. Einfache Alternative zu Greasemonkey
- 15. Greasemonkey Onclick Bindung
- 16. Ermöglicht Greasemonkey das Laden von lokalem Javascript über @require?
- 17. console.log funktioniert nicht, wenn in einem Firefox, Greasemonkey-Skript verwendet
- 18. Greasemonkey Script und Funktionsumfang
- 19. Greasemonkey gegen einen iframe mit @include - funktioniert das?
- 20. Greasemonkey @require jQuery funktioniert nicht "Komponente nicht verfügbar"
- 21. Greasemonkey-Skript, das Seite
- 22. Wie funktioniert JavaScript [] wirklich?
- 23. Wie funktioniert Javascript sort()?
- 24. Wie funktioniert Javascript CANVAS?
- 25. GreaseMonkey Hilfe mit getElementsByClassName
- 26. Schließen von Fenstern mit Greasemonkey
- 27. Wie OnClick-Ereignis mit GreaseMonkey ersetzen?
- 28. Wie man zusätzliche jQuery-Plugins in Greasemonkey einbaut
- 29. Greasemonkey ersetzen unityObject Quelle in Webseite
- 30. In Greasemonkey/Javascript, wie kann ich mit neuen Elementen auf der Seite umgehen?
danke für das Zeigen auf den Code. Wenn das Ereignis DOMContentLoaded ausgelöst wird, wird der Wrapper des userscript als Handler des Ereignisses aufgerufen oder ist der Wrapper als Teil des Quellcodes eingefügt? Mit anderen Worten, Zeile 309, this.evalInSandbox ("(function() {" + scriptSrc + "})()", URL, Sandbox, Skript), führt den Wrapper aus oder fügt den Wrapper in den ursprünglichen JavaScript-Code ein? – Paul
Der erste GM hört auf DOMContentLoaded Ereignisse, wenn diese passieren GM bestimmt, welche userscripts ausgeführt werden sollen (über die @ include/@ exclude Regeln, und überprüfen, dass die URL 'fettmonkeykeyable' ist), dann Quellcode von einem Userscript (welches nur ein string an dieser Stelle), die ausgeführt werden soll, wird in eine anonyme selbstausführende Funktion eingepackt (über eine String-Verkettung) und führt schließlich eine evalInSandbox auf der anonymen selbstausführenden Funktion durch (die das Benutzer-Script ausführt). – erikvold
So wird das Skript zu der Zeit ausgeführt, wenn es injiziert wird. Ist es richtig? – Paul