GM_openInTab(或任何其他 GM_ 函数)未定义?
GM_openInTab (or any other GM_ function) is not defined?
当我的 GM 脚本执行此操作时:
var curTab = GM_openInTab(url);
它会导致浏览器控制台出现 'GM_openInTab is not defined'
JavaScript 错误。
我也尝试过使用 var curWin = window.open(url);
而不是 GM_openInTab
但它没有影响。
我试图用这个 GM 脚本做的是:对于给定的网站(域名),浏览该域上的 URL 列表(数组)并寻找感兴趣的项目。
我的代码或方法有什么问题?
我在 Firefox 33.1.1 和 Windows XP 32 位上使用 Greasemonkey 2.3。
为了使用任何GM_
函数,您必须设置一个匹配的@grant
directiveDoc (As of Greasemonkey version 2.0Release notes)
例如:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_openInTab
// ==/UserScript==
var curTab = GM_openInTab ("http://pwnthemall.com/");
请注意,这会对重新打开 Greasemonkey 的沙箱产生 副作用。另请参阅:
- Error: Permission denied to access property 'handler'
- How to access `window` (Target page) objects when @grant values are set?
Tampermonkey 模拟了 version 3.9Release notes 中的大部分行为。但是如果未指定 @grant
,当前版本 (3.9.202) 仍会尝试猜测适当的值,因此您不一定会看到错误(目前)。
始终使用 @grant
,以获得最大的兼容性和面向未来的代码。
当我的 GM 脚本执行此操作时:
var curTab = GM_openInTab(url);
它会导致浏览器控制台出现 'GM_openInTab is not defined'
JavaScript 错误。
我也尝试过使用 var curWin = window.open(url);
而不是 GM_openInTab
但它没有影响。
我试图用这个 GM 脚本做的是:对于给定的网站(域名),浏览该域上的 URL 列表(数组)并寻找感兴趣的项目。
我的代码或方法有什么问题?
我在 Firefox 33.1.1 和 Windows XP 32 位上使用 Greasemonkey 2.3。
为了使用任何GM_
函数,您必须设置一个匹配的@grant
directiveDoc (As of Greasemonkey version 2.0Release notes)
例如:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_openInTab
// ==/UserScript==
var curTab = GM_openInTab ("http://pwnthemall.com/");
请注意,这会对重新打开 Greasemonkey 的沙箱产生 副作用。另请参阅:
- Error: Permission denied to access property 'handler'
- How to access `window` (Target page) objects when @grant values are set?
Tampermonkey 模拟了 version 3.9Release notes 中的大部分行为。但是如果未指定 @grant
,当前版本 (3.9.202) 仍会尝试猜测适当的值,因此您不一定会看到错误(目前)。
始终使用 @grant
,以获得最大的兼容性和面向未来的代码。