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

Aut*_*act 13 javascript firefox greasemonkey

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

window.close();
Run Code Online (Sandbox Code Playgroud)

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

这个问题有解决方法吗?

M.N*_*M.N 23

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

脚步:

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

现在你的脚本可以用'window.close()'关闭TAB

例如.

function closeTab(){
    window.open('', '_self', '');
    window.close();
} 
Run Code Online (Sandbox Code Playgroud)

  • 但是这不允许*all*脚本关闭窗口吗?有没有办法只允许使用greasemonkey脚本来关闭窗口? (3认同)

DDR*_*RSS 6

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

// @grant window.close
// @grant window.focus
Run Code Online (Sandbox Code Playgroud)

(后一个授权允许您将浏览器重新聚焦在窗口上。)这将消除错误。

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