Comment fermer un onglet firefox à partir d'un script greasemonkey?
-
11-07-2019 - |
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?
La solution
Vous devez modifier les paramètres de configuration de Firefox (à propos de: config).
Étapes:
- Accédez à la barre d'adresse et entrez about: config .
- Accédez au paramètre dom.allow_scripts_to_close_windows
- 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.