2013-01-17 136 views
28

我在我的網頁上有一個關閉鏈接。我想用它來點擊它時關閉當前標籤。我寫了關閉當前標籤

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

上述代碼似乎在Internet Explorer中運行良好。但它不適用於Mozilla Firefox和Google Chrome。請幫我解決這個問題。

+2

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

+1

爲什麼你需要這當標籤頁上已經有關閉按鈕? – Eevee

+0

@ gurvinder372 - 感謝您的幫助,但不起作用。 – uvinod

回答

30

您只能關閉自己創建的窗口/選項卡。也就是說,您無法以編程方式關閉用戶創建的窗口/選項卡。

例如,如果您使用window.open()創建窗口,則可以用window.close()關閉它。

+0

感謝您的回答。可能爲什麼它在Internet Explorer中工作? – uvinod

+3

不確定,但IE有時會有自己的方法。 –

+0

@ustasb我怎麼做window.open()有可能以後關閉它?我真的不明白我應該把window.open放在哪裏,我把這段代碼放在腳本標籤的頭部,它只是打開另一個標籤,這很有意義,但我不想關閉新窗口打開,我想關閉當前窗口。有什麼建議? – RicardoGonzales

-2

使用此:

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

鉻這隻作品;這是一個錯誤。 它將在未來得到修復,因此請牢記這一點,使用這個hacky解決方案。

+0

無法正常工作,鉻44。 – shinzou

+0

在版本50.0.2661.102中無效m –

-2

試試這個:

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

不適用於鉻44。 – shinzou

+1

適用於Chrome 45.0.2454.101 – naoko

+0

Chrome版本49.0.2623.112 m 不工作。 –

5

自Chrome 46,簡單的onclick=window.close()的伎倆。這隻會關閉標籤頁,而不是整個瀏覽器,如果打開多個標籤頁。

-1

試試這個:

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

這在某些情況下,谷歌瀏覽器50.這似乎不是一個javascript函數裏面放的時候工作,但爲我工作。

+1

這是因爲'this'在這個上下文中是指'window',並且是指函數上下文中的函數; 'this.window'只是'window'。 – Carpetsmoker

1

您可以使用下面的JavaScript。

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

在HTML您可以使用下面的代碼

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

我已經在Chrome 61嘗試這樣做,IE11它是工作的罰款。 但這不適用於Firefox 57. 在Firefox中,我們只能關閉使用以下命令打開的窗口。

window.open()