未定义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列表(数组)并查找感兴趣的项目。
我的代码或方法有什么问题?
我正在使用 Greasemonkey 2.3 和 Firefox 33.1.1 和 Windows XP 32 位。
为了使用任何GM_
函数,您必须设置匹配的@grant
指令Doc(从 Greasemonkey 版本 2.0发行说明开始)
例如:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_openInTab
// ==/UserScript==
var curTab = GM_openInTab ("http://pwnthemall.com/");
请注意,这有将 Greasemonkey 的沙盒切换回去的副作用。 另请参阅:
- 错误:访问属性"处理程序"的权限被拒绝
- 设置@grant值时如何访问"窗口"(目标页面)对象?
Tampermonkey 从版本 3.9发行说明开始模拟大部分此行为。但是,如果未指定@grant
,当前版本(3.9.202)仍会尝试猜测适当的值,因此您不一定会看到错误(还)。
无论如何,请始终使用 @grant
,以获得最大的兼容性并使代码面向未来。
相关文章:
- 如何添加浮动和非浮动,其他
- 与其他库的jQuery.noConflict()
- 播放当前视频时如何停止其他视频?JavaScript
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 除修剪外的其他功能
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- Array.length似乎不起作用;console.log则显示其他情况
- 如何消除代码中的未定义和其他问题
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- Jquery未定义函数正在停止其他操作
- 如何将我的javascript库公开给其他客户端使用
- Javascript阻止其他Javascript代码
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 如何“;过滤器”;或者以其他方式重构该数据
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- jQuery:暂停按钮可以暂停所有其他操作
- 生成pdf或其他非html文件时的错误处理