Как закрыть вкладку Firefox из скрипта greasemonkey? - PullRequest
13 голосов
/ 01 декабря 2008

У меня есть скрипт пользователя greasemonkey с этой единственной строкой кода ...

window.close();

но firefox не позволяет пользовательскому сценарию закрыть окно (как сообщается в сообщении об ошибке в консоли ошибок)

Есть ли способ обойти эту проблему?

Ответы [ 3 ]

22 голосов
/ 01 декабря 2008

Вам необходимо изменить настройки конфигурации Firefox (about: config), чтобы разрешить это.

Шаги:

  1. Перейдите в адресную строку и введите about: config
  2. Перейти к параметру dom.allow_scripts_to_close_windows
  3. Установить его значение как true

Теперь ваш скрипт может закрыть вкладку с помощью 'window.close ()'

например.

function closeTab(){
    window.open('', '_self', '');
    window.close();
} 
4 голосов
/ 30 октября 2009

Поскольку Firefox обрабатывает код Greasemonkey с теми же привилегиями, что и код сценария на внешних веб-сайтах, невозможно только разрешить коду Greasemonkey закрывать окна, но не обычные сценарии.

1 голос
/ 24 января 2019

К настоящему времени некоторые из -монки позволяют использовать опцию @ grant для официальной разблокировки таких команд, как window.close () без перехода на о: конфигурации . Например, в Tampermonkey :

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

(Последний Грант позволяет перефокусировать браузер на вашем окне.) Это уберет ошибку.

...