繁体   English   中英

如何从greasemonkey脚本关闭firefox选项卡?

[英]How do I close a firefox tab from a greasemonkey script?

我有一个带有这行代码的greasemonkey用户脚本......

window.close();

但是 firefox 不允许用户脚本关闭窗口(如错误控制台中的错误消息所报告的那样)

这个问题有解决方法吗?

您需要更改 Firefox (about:config) 的配置设置以允许此操作。

脚步:

  1. 转到地址栏并输入about:config
  2. 转到参数dom.allow_scripts_to_close_windows
  3. 将其值设置为true

现在您的脚本可以使用“window.close()”关闭选项卡

例如。

function closeTab(){
    window.open('', '_self', '');
    window.close();
} 

由于 Firefox 以与外部网站上的脚本代码相同的权限对待 Greasemonkey 代码,因此不可能只允许 Greasemonkey 代码能够关闭窗口,而不允许常规脚本。

到目前为止,一些-monkies允许使用@grant选项来正式解锁像window.close()这样的命令,而无需转到about:config 例如,在Tampermonkey 中

// @grant window.close
// @grant window.focus

(后者授予允许你重新聚焦你的窗口浏览器)。这将消除错误。

编辑:正如@baptx在评论中正确提到的那样,浏览器的安全选项也应该设置为允许脚本关闭窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM