簡體   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