16

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

window.close();

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

有解决这个问题的方法吗?

4

3 回答 3

28

您需要更改 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();
} 
于 2008-12-01T09:28:38.907 回答
4

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

于 2009-10-30T06:59:20.617 回答
4

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

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

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

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

于 2019-01-24T05:40:37.867 回答