Pergunta

Eu tenho um script de usuário greasemonkey com esta única linha de código ...

window.close();

mas o Firefox não permite que um script de usuário fechar uma janela (como relatado por uma mensagem de erro no console de erro)

Existe um trabalho em torno a este problema?

Foi útil?

Solução

Você precisa alterar definições de configuração do Firefox (about: config) para permitir que este

.

Passos:

  1. Vá para a barra de endereço e tipo about: config
  2. Vá para parâmetro dom.allow_scripts_to_close_windows
  3. Defina seu valor como true

Agora, o script pode fechar o TAB com 'window.close ()'

por exemplo.

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

Outras dicas

Desde Firefox trata código Greasemonkey com os mesmos privilages como o código de script em sites externos, não é possível permitir que apenas código Greasemonkey para ser capaz de fechar as janelas, mas não roteiros regulares.

Por agora alguns dos -monkies permitir o uso de @grant opção de comandos oficialmente desbloqueio como window.close () , sem passar a about: config . Por exemplo, em Tampermonkey :

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

(O último concessão permite que você re-focar o navegador em sua janela.) Isso eliminaria o erro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top