Comment puis-je fermer une fenêtre de navigateur sans recevoir le message Voulez-vous fermer cette fenêtre rapide ?
L'invite se produit lorsque j'utilise le window.close();
fonction.
Comment puis-je fermer une fenêtre de navigateur sans recevoir le message Voulez-vous fermer cette fenêtre rapide ?
L'invite se produit lorsque j'utilise le window.close();
fonction.
Mon ami... il y a un moyen, mais "hack" ne suffit pas à le décrire. Vous devez essentiellement exploiter un bug dans IE 6 & 7.
Ça marche à tous les coups !
Au lieu d'appeler window.close()
rediriger vers une autre page.
Page d'accueil :
alert("No whammies!");
window.open("closer.htm", '_self');
Rediriger vers une autre page. Cela trompe IE en vous laissant fermer le navigateur sur cette page.
Page de clôture :
<script type="text/javascript">
window.close();
</script>
Génial, hein ? !
Les scripts sont pas autorisé pour fermer une fenêtre qu'un utilisateur a ouverte. Ceci est considéré comme un risque pour la sécurité. Bien que cela ne figure dans aucune norme, tous les fournisseurs de navigateurs suivent cette règle ( Documents de Mozilla ). Si cela se produit dans certains navigateurs, il s'agit d'un bogue de sécurité qui (idéalement) est corrigé très rapidement.
Aucune des astuces proposées dans les réponses à cette question ne fonctionne plus, et si quelqu'un invente une autre astuce, elle finira par ne plus fonctionner non plus.
Je vous suggère de ne pas perdre d'énergie à lutter contre ce problème et d'adopter la méthode que le navigateur vous propose si utilement demandez à l'utilisateur avant de faire planter sa page.
Voici la fonction Javascript que j'utilise pour fermer le navigateur sans invite ni avertissement, elle peut également être appelée depuis Flash. Elle doit être dans le fichier html.
function closeWindows() {
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
//alert(browserName + " : "+browserVer);
//document.getElementById("flashContent").innerHTML = "<br> <font face='Arial' color='blue' size='2'><b> You have been logged out of the Game. Please Close Your Browser Window.</b></font>";
if(browserName == "Microsoft Internet Explorer"){
var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
if (ie7)
{
//This method is required to close a window without any prompt for IE7 & greater versions.
window.open('','_parent','');
window.close();
}
else
{
//This method is required to close a window without any prompt for IE6
this.focus();
self.opener = this;
self.close();
}
}else{
//For NON-IE Browsers except Firefox which doesnt support Auto Close
try{
this.focus();
self.opener = this;
self.close();
}
catch(e){
}
try{
window.open('','_self','');
window.close();
}
catch(e){
}
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.