Magazine

FireFox et window.close()

Publié le 15 avril 2008 par Methylbro

Firefox est un navigateur idiot. Je ne l'ai jamais aimé ; je ne l'aimerais sans doute jamais. Et je m'assume.

Sans faire de la polémique de bas étage ... je vais critiquer royalement FireFox. C'est un comportement idiot de ma part ; mais ca aura le mérite de me défouler un peu.

Si l'on s'en réfère à la théorie ; fermer une fenêtre avec javascript c'est facile. Quenéni brave gens ! C'est sans compter sur la guerre sempiternelle que ce livre nos deux grand browsers concurrents ! Les bien nommés Gecko et IE.

Théoriquement donc ; si l'on regarde la documentation de javascript ; pour fermer une fenêtre ; il suffit de dire window.close() ; fastoche. Seulement ; FireFox ; rusé comme un renard vous répond "et non l'ami ! trop simple !". Je lui ajouterais bien un peu d'essence pour le faire cramer plus vite moi.

Donc ; théoriquement ; pour fermer une fenêtre on ferais quelque chose du genre :

function fermerFenetre() {
  if (confirm("Etes-vous sur de vouloir quitter ?")) {
   window.close();
  }
}

exemple

Oui mais voilà ; sous IE (ou Avant Browser dans mon cas. Ce qui revient au même ; car même moteur) tout fonctionne comme prévu. Mais sous FireFox : rien. Il ne considère même pas ca comme une erreur. Il ignore juste votre commande. La seule solution que j'ai trouvé ; pour avoir un effet similaire avec Firefox ; ce n'est pas de fermer la fenêtre ... Mais d'en ouvrir une ! Bah oui ; pas le choix. Il ignore complètement notre commande window.close() ; donc on va lui dire d'ouvrir un about:blank.

function fermerFenetre() {
  if (confirm("Etes-vous sur de vouloir quitter ?")) {
   window.open('about:blank','_parent','');
   window.close();
  }
}

exemple


Retour à La Une de Logo Paperblog

A propos de l’auteur


Methylbro 17 partages Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte