2010-09-08 4 views
0

J'ai besoin d'un moyen de fermer le navigateur (pas une fenêtre pop-up) en utilisant Javascript. C'est possible?Fermer la fenêtre en Javascript

+1

Pourquoi avez-vous besoin de fermer la fenêtre du navigateur? –

+0

connexes: http://www.gtalbot.org/BrowserBugsSection/MSIE6Bugs/ClosingWindowsNotOpenedByJS.html –

Répondre

7

Si la fenêtre n'est pas ouverte par un code JavaScript de votre propre domaine, vous ne pouvez pas la fermer de manière compatible avec Crossbrows en utilisant JavaScript. Seulement dans MSIE vous pouvez utiliser window.close(), mais cela va générer un avertissement qui est cependant réalisable en appelant window.open('', '_self', ''); auparavant. Pourtant, cela ne fonctionnera pas dans Firefox et d'autres navigateurs décents. Et avec une bonne raison. Vous ne devez pas fermer de force les fenêtres ouvertes par l'utilisateur final. C'est une mauvaise expérience utilisateur.

+0

"ne fonctionnera pas sur un autre navigateur décent" ... J'aime ce que cela implique: D – jrharshath

+0

Ce n'est pas nécessairement une mauvaise expérience utilisateur: Je cours une étude d'utilisateur; l'utilisateur effectue une tâche; à la fin de la tâche, je veux que l'utilisateur fasse autre chose. Lorsque la tâche est terminée, l'utilisateur doit appuyer sur le bouton «terminé» et faire disparaître la fenêtre. –

3

vous pouvez utiliser -

< a href="javascript:window.opener='x';window.close();">Close< /a> 

habituellement lorsque vous utilisez window.close() dans la fenêtre principale du navigateur, il affiche un message disant « page essaie de fermer la fenêtre ». Pour éviter cela, définissez window.opener à n'importe quelle valeur. L'idée est window.opener ne devrait pas être nulle ou vide.

+1

Peut ne pas toujours fonctionner. Pour ref, vérifiez ceci: https://developer.mozilla.org/en/window.close – Rajat

+0

@Rajat - Oui, vous avez raison. il demande toujours une invite pour fermer la fenêtre –

+0

window.opener attend un type spécifique. Le définir sur une chaîne ou un caractère provoquera une erreur de javascript. –

1

L'ensemble du navigateur? Généralement, non. Vous pouvez fermer l'onglet en cours avec window.close(), mais il invitera l'utilisateur avant la fermeture du navigateur (sauf s'il a été créé avec window.open()). Ceci est une fonctionnalité de sécurité. il serait désagréable si une page Web arbitraire pouvait fermer votre navigateur sans le vouloir.

1

En général, vous pouvez fermer une fenêtre que vous avez vous-même créée en utilisant javascript.

Vous ne pouvez pas fermer une autre fenêtre, pas même la fenêtre dans laquelle votre page est chargée. Je me souviens que certains navigateurs demandent en fait "Cette page web essaie de fermer votre fenêtre. Autoriser?" ou quelque chose de ce genre. Ce n'est pas quelque chose que vous voulez que votre utilisateur final voie.

BTW, si vous spécifiez votre cas d'utilisation particulier, je pourrais suggérer des solutions alternatives.

1

essayer,

<a href="" OnClick="window.close()">[CLOSE]</a> 

Il va fermer la fenêtre pour vous

Questions connexes