ANS-0691 · DéVELOPPEMENT SUITESCRIPT
Comment fermer une fenêtre ou un onglet de navigateur avec JavaScript dans Firefox ?
Les politiques de sécurité de Firefox empêchent JavaScript de fermer des fenêtres ou des onglets qui n'ont pas été ouverts à l'origine par un script, ce qui impose des conditions spécifiques pour que la fermeture s'effectue correctement.
Solution courte
Le modèle de sécurité de Firefox restreint l'utilisation de la fonction window.close() de JavaScript. Un onglet ou une fenêtre ne peut être fermé via JavaScript que s'il a été initialement ouvert par une commande JavaScript, telle que window.open(). Les tentatives de fermeture d'onglets ouverts manuellement à l'aide de window.close() échoueront en raison de ces mesures de sécurité.
Scénario
Les utilisateurs qui tentent de fermer un onglet ou une fenêtre de navigateur à l'aide de la fonction window.close() de JavaScript dans Firefox peuvent constater que l'opération échoue. Ce problème survient généralement lorsque l'onglet ou la fenêtre cible n'a pas été initialement ouvert(e) par programmation via JavaScript.
Solution
Le modèle de sécurité de Firefox stipule qu’un onglet ou une fenêtre ne peut pas être fermé(e) via JavaScript s’il (elle) n’a pas été ouvert(e) à l’origine par une commande JavaScript. Il s’agit d’une mesure de sécurité visant à empêcher les scripts de fermer des onglets ou des fenêtres ouverts par l’utilisateur sans son consentement. Un onglet ou une fenêtre ne peut être fermé(e) via JavaScript que s’il (elle) a été ouvert(e) initialement par une commande JavaScript.
Pour tester ce comportement :
Ouvrez un onglet dans Firefox. Dans la barre d’adresse, saisissez ce qui suit et appuyez sur Entrée :
javascript
javascript:window.close();//. Cette action ne parviendra pas à fermer l’onglet ou la fenêtre.
Dans un onglet de Firefox, saisissez ce qui suit dans la barre d’adresse et appuyez sur Entrée :
GA_KEEP_0002.
Cela ouvrira un nouvel onglet. Accédez à ce nouvel onglet et, dans sa barre d’adresse, saisissez :
javascript
javascript:window.close();. Cette action permettra de fermer l’onglet ou la fenêtre.
Cela démontre que Firefox ne permet pas la fermeture d’un onglet ou d’une fenêtre via JavaScript si cet onglet ou cette fenêtre n’a pas été ouvert(e) à l’origine par JavaScript.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Développement SuiteScript
