web-dev-qa-db-fra.com

Fermer l'onglet actuel

J'ai un lien étroit sur ma page Web. Je voudrais l'utiliser pour fermer l'onglet en cours lorsque vous cliquez dessus. j'ai écrit

<a href="#" onclick = "javascript:self.close();">close</a>

Le code ci-dessus semble bien fonctionner dans Internet Explorer. Mais cela ne fonctionne pas dans Mozilla Firefox et Google Chrome. S'il vous plaît aidez-moi à résoudre ce problème.

28
uvinod

Vous ne pouvez fermer que les fenêtres/onglets que vous avez créés. Autrement dit, vous ne pouvez pas fermer par programmation une fenêtre/un onglet créé par l'utilisateur.

Par exemple, si vous créez une fenêtre avec window.open(), vous pouvez la fermer avec window.close().

31
Brian Ustas

À partir de Chrome 46, un simple onclick=window.close() fait l'affaire. Cela ne ferme l'onglet, et pas le navigateur entier, si plusieurs onglets sont ouverts.

5
Adam M

Vous pouvez utiliser ci-dessous JavaScript.

window.open('','_self').close();

En HTML, vous pouvez utiliser le code ci-dessous

<a href="javascript:close_window();">close</a>

J'ai essayé ceci dans Chrome 61 et IE11 cela fonctionne très bien. Mais cela ne fonctionne pas avec Firefox 57 . Dans Firefox, nous ne pouvons que fermer les fenêtres ouvertes à l'aide de la commande ci-dessous.

window.open()
1
Nayana Priyankara

Vous avez trouvé une ligne qui fonctionne dans Chrome 66 à partir de: http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html

TLDR: induit le navigateur en lui faisant croire que JavaScirpt ouvrait l'onglet/la fenêtre en cours

window.open('', '_parent', '').close();

Donc pour être complet 

<a href="#" onclick = "javascript:window.open('', '_parent', '').close();">close</a>

Cependant, il faut aussi noter que les lecteurs voudront peut-être placer cela dans une fonction permettant aux empreintes digitales dont les navigateurs ont besoin, car Firefox 59 ne fonctionne pas avec ce qui précède.

0
S0AndS0