Siehe "Error: Permission denied to access property 'handler'".
Sie können die jQuery der Zielseite nicht mehr so aufrufen.
(Beachten Sie, dass in @grant none
Modus (Standardeinstellung als von GM 2), ist unsafeWindow
die gleiche wie window
... Aber dann kann man nicht GM_
Funktionen verwenden.)
@require
Ihre eigenen Kopie von jQuery; Es wird nicht in Konflikt mit den Seiten und wird schneller geladen, um zu starten.
Verwenden Sie nicht unsafeWindow
für solche Dinge (oder überhaupt, wenn Sie es helfen können), und $(document).ready()
wird auch fast nie für Greasemonkey-Skripts benötigt.
Ihr (neu) Beispielskript würde nur sein:
// ==UserScript==
// @name Dimi Test
// @namespace Dimi
// @version 1
// @grant GM_xmlhttpRequest
// @include about:addons
// @include http://*.myDomain.*/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// ==/UserScript==
$("body").prepend ('<h1>Hello World!</h1>');
Und Sie können dann ohne Probleme GM_
Funktionen und die Instanz von jQuery mischen.
Hinweis: Die Frage Skript hat // @include about:addons
.
Greasemonkey scripts will not work on the about:addons
page, by design.
Dank Brock, destillierte ich die Frage nach unten. – Dimi