Tout le monde sait que window.close() est utilisé pour fermer la fenêtre et est pris en charge à la fois par IE et Firefox.
Afin d'obtenir le contrôle absolu de l'utilisateur sur le navigateur, lorsque vous utilisez close pour fermer une fenêtre non ouverte dans IE, une boîte de dialogue apparaîtra demandant à l'utilisateur comment supprimer cette boîte. Veuillez consulter le code ci-dessous.
function winClose(){ window.top.opener = null; window.close(); }
Ajoutez simplement window.top.opener = null avant window.close.
Certaines personnes disent que Firefox ne prend pas en charge la fermeture. En fait, c'est faux. La raison pour laquelle window.close ne peut pas être utilisé dans Firefox est que Firefox ne peut pas fermer la page Web ouverte par l'utilisateur par défaut. comme ça.
Ouvrez Firefox et saisissez about:config dans la barre d'adresse
Recherchez dom.allow_scripts_to_close_windows et remplacez-le par true.
Ce qu'il faut dire, c'est qu'il n'y a aucun problème avec les boîtes de dialogue contextuelles dans Firefox.
<script> function a(){ window.open('','_parent',''); window.opener = window; window.close(); } </script>
Exécutez ceci à nouveau et il sera fermé sous ff.
En voyant cela, si on demande au client de la configurer, cela signifie que cette fonction n'est pas implémentée, donc le résultat n'est pas très satisfaisant, je ne sais pas s'il existe d'autres bonnes alternatives.
Postscript : Vous pouvez fermer la page actuelle en ouvrant une nouvelle fenêtre puis en fermant cette page. Merci Strangebank. Mais ce qui est étrange, c'est qu'hier je l'ai essayé avec ff2 sans succès, mais aujourd'hui je l'ai essayé avec 3 avec succès. Quel bordel, j'ai essayé d'en utiliser 2 sur la machine de mon collègue aujourd'hui et ça a encore fonctionné. Mais il est toujours bon de résoudre le problème le plus tôt possible. ^_^
index.html
<a href="c.html" target="_blank">ddddddddd</a>
c.html
<a href="javascript:window.open('','_parent','');window.close();">Close Window</a>