Ein Weg, eine Funktion auf der Ursprungsseite aufzurufen, ist folgendermaßen:
location.href = "javascript:void(myFunction());";
Es ist ein wenig hässlich. Es gibt auch das unsafeWindow bereitgestellt von GreaseMonkey, aber die Autoren raten davon ab, es zu verwenden.
unsafeWindow.myFunction();
Sieht ordentlicher aus, aber stellen Sie sicher, dass Sie die Auswirkungen verstehen. Aus dem Handbuch:
unsafeWindow umgeht das XPCNativeWrapper-basierte Sicherheitsmodell von Greasemonkey, das sicherstellen soll, dass bösartige Webseiten Objekte nicht so verändern können, dass Greasemonkey-Skripte (die mit mehr Privilegien als gewöhnliches Javascript in einer Webseite ausgeführt werden) Dinge tun können, die die Autoren oder Benutzer nicht beabsichtigt haben. Benutzerskripte sollten daher das Aufrufen oder in irgendeiner anderen Weise abhängen von Eigenschaften auf unsafeWindow vermeiden - insbesondere wenn sie für beliebige Webseiten ausgeführt werden, wie solche mit @include *, bei denen die Seitenautoren die Umgebung auf diese Weise untergraben haben könnten.
Mit anderen Worten, Ihr Skript erhöht die verfügbaren Privilegien für das ursprüngliche Seitenskript, wenn Sie unsafeWindow verwenden.