When I add the @grant for GM_xmlhttpRequest, I get:
Error: Permission denied to access property \'call\'
in the jQuery file.
See "Error: Permission denied to access property 'handler'".
You can no longer invoke the target-page's jQuery like that.
(Note that in @grant none
mode (the default as of GM 2), unsafeWindow
is the same as window
... But, then you can't use GM_
functions.)
@require
your own copy of jQuery; it will not conflict with the page's and will load faster, to boot.
Do not use unsafeWindow
for things like this (or at all, if you can help it), and $(document).ready()
is also almost never needed for Greasemonkey scripts.
Your (new) sample script would merely be:
// ==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>');
And you can then mix GM_
functions and your instance of jQuery with no problems.
Note: The question script has // @include about:addons
.
Greasemonkey scripts will not work on the about:addons page, by design.