Question

J'ai un script utilisateur greasemonkey avec cette seule ligne de code ...

window.close();

mais Firefox ne permet pas à un script utilisateur de fermer une fenêtre (comme le signale un message d'erreur dans la console d'erreur)

Existe-t-il une solution à ce problème?

Était-ce utile?

La solution

Vous devez modifier les paramètres de configuration de Firefox (à propos de: config).

Étapes:

  1. Accédez à la barre d'adresse et entrez about: config
  2. .
  3. Accédez au paramètre dom.allow_scripts_to_close_windows
  4. Définissez sa valeur sur true

Votre script peut maintenant fermer la tabulation avec 'window.close ()'

Exemple:

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

Autres conseils

Puisque Firefox traite le code Greasemonkey avec les mêmes privilèges que le code de script sur les sites Web externes, il n’est pas possible d’autoriser le code Greasemonkey à pouvoir fermer les fenêtres, mais pas les scripts normaux.

A présent, certains des -monkies autorisent l'utilisation de l'option @grant pour déverrouiller officiellement des commandes telles que window.close () sans passer par about: config . Par exemple, dans Tampermonkey :

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

(Cette dernière subvention vous permet de recentrer le navigateur sur votre fenêtre.) Cela supprimerait l'erreur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top