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.
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()
.
À 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.
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()
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.