Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加@grant值会打破我的Greasemonkey+;jQuery脚本?_Javascript_Jquery_Greasemonkey - Fatal编程技术网

Javascript 添加@grant值会打破我的Greasemonkey+;jQuery脚本?

Javascript 添加@grant值会打破我的Greasemonkey+;jQuery脚本?,javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,当我添加@grant for GM_xmlhttpRequest时,我得到: 错误:访问属性“call”的权限被拒绝 在jQuery文件中。 如果我取消补助金,效果很好 // ==UserScript== // @name Dimi Test // @namespace Dimi // @include about:addons // @version 1 // @grant GM_xmlhttpRequest // @include http://

当我添加@grant for GM_xmlhttpRequest时,我得到:

错误:访问属性“call”的权限被拒绝

在jQuery文件中。
如果我取消补助金,效果很好

// ==UserScript==
// @name        Dimi Test
// @namespace   Dimi
// @include     about:addons
// @version     1
// @grant       GM_xmlhttpRequest
// @include http://*.myDomain.*/*
// ==/UserScript==

var $J = unsafeWindow.jQuery;

$J(unsafeWindow.document).ready(function(){
    alert('Hello');
});

您不能再像那样调用目标页面的jQuery了

(请注意,在
@grant none
模式下(GM 2的默认设置),
unsafeWindow
window
相同……但是,您不能使用
GM
功能。)


@require
您自己的jQuery副本;它将不会与页面的冲突,并且将更快地加载以引导

不要将
unsafeWindow
用于类似的操作(或者,如果您可以帮助的话,请不要使用它),而且对于Greasemonkey脚本来说,
$(document).ready()
几乎是不需要的

您的(新)示例脚本仅为:

// ==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>');
/==UserScript==
//@name-Dimi测试
//@Dimi
//@version 1
//@grant GM_xmlhttpRequest
//@include about:addons
//@include http://*.myDomain*/*
//@需要http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
//==/UserScript==
$(“body”).prepend('Hello World!');
然后,您可以将
GM
函数与jQuery实例混合使用,而不会出现任何问题



注意:问题脚本中有
/@include about:addons


谢谢布罗克,我把问题浓缩了下来。非常感谢!我设法从那里开始。非常感谢!