2013-01-17 26 views
28

Ho un link stretto sulla mia pagina web. Mi piacerebbe farlo funzionare per chiudere la scheda corrente quando si fa clic. Ho scrittoChiudi scheda corrente

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

Il codice sopra sembra funzionare bene in Internet Explorer. Ma non funziona in Mozilla Firefox e Google Chrome. Per favore aiutami a risolvere questo.

+2

uso window.close() http://stackoverflow.com/questions/2076299/how-to-close-current-tab-in-a-browser-window – gurvinder372

+1

perché avete bisogno questo quando le schede hanno già pulsanti di chiusura su di loro? – Eevee

+0

@ gurvinder372 - Grazie per il tuo aiuto ma non funziona. – uvinod

risposta

30

È possibile solo chiudere finestre/schede create dall'utente. Cioè, non puoi chiudere a livello di codice una finestra/scheda creata dall'utente.

Ad esempio, se si crea una finestra con window.open(), è possibile chiuderla con window.close().

+0

Grazie per la risposta. Probabilmente perché funziona in Internet Explorer? – uvinod

+3

Non sicuro, ma IE a volte ha i suoi modi. –

+0

@ustasb Come posso fare window.open() per avere la possibilità di chiuderlo più tardi ?. In realtà non capisco dove dovrei mettere window.open, ho messo quella linea di codice nella mia sezione principale all'interno dei tag script ed è appena aperta un'altra scheda che ha senso, ma non voglio chiudere il nuova finestra aperta, voglio chiudere la finestra corrente. Qualche consiglio? – RicardoGonzales

-2

Utilizzare questa:

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

Questo funziona solo in cromo; è un bug Sarà riparato in futuro, quindi usa questa soluzione hacky tenendo questo a mente.

+0

Non funziona, chrome 44. – shinzou

+0

Non funziona nella versione 50.0.2661.102 m –

-2

Prova questa:

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

Non funziona in chrome 44. – shinzou

+1

funziona su Chrome 45.0.2454.101 – naoko

+0

Versione di Chrome 49.0.2623.112 m Non funziona. –

5

Come di Chrome 46, un semplice onclick=window.close() fa il trucco. Questo chiude solo la scheda e non l'intero browser, se sono aperte più schede.

-1

Prova questo:

<script> 
    var myWindow = window.open("ANYURL", "MyWindowName", "width=700,height=700"); 
    this.window.close(); 
</script> 

questo ha lavorato per me in alcuni casi in Google Chrome 50. Non sembra funzionare quando viene messo all'interno di una funzione javascript, però.

+1

Questo perché "this" si riferisce a 'window' in questo contesto e alla funzione nel contesto di una funzione; 'this.window' è solo' window'. – Carpetsmoker

1

È possibile utilizzare sotto JavaScript.

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

In HTML è possibile utilizzare il codice qui sotto

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

Ho provato questo in Chrome 61 e IE11 si sta lavorando bene. Ma questo non funziona con Firefox 57. In Firefox possiamo solo chiudere, finestre che si aprono usando il comando di sotto.

window.open() 
Problemi correlati