2013-07-17 84 views
1

在一頁上,我有一個超鏈接target="_blank"關閉窗口 - 如何確定窗戶是如何打開的?

在目標頁面上,我有一個「關閉」按鈕,使用JS關閉新標籤/窗口。

  1. 如果用戶單擊超鏈接時,我可以用JS關閉打開的窗口。大!

  2. 如果用戶用鼠標右鍵單擊該鏈接並選擇「打開新的標籤頁」,我的JS事件不能關閉窗口。噓。 :-(

我明白了其中的原因,但是在第二種情況下,我想只是沒有顯示「關閉」按鈕,如果窗口將不能用JavaScript來實現閉合。

所以我的問題:我如何預先確定窗口是否關閉的使用JavaScript

回答

1

不要使用target="_blank",在您的新標籤使用target="popup1" 然後檢測它:?

if(window.name == "popup1") { 
    document.body.className += " closeable"; 
} 

Then:

<style> 
.closeable #closebutton {display:block} 
</style> 
+0

很好,謝謝! – Bumpy

+0

...除了添加我不能再打開多個目標窗口,也沒有任何後續窗口自動打開焦點。我必須調整'target',這樣每次都是唯一的名字。謝謝。 – Bumpy

+0

可以相應地調整目標名稱,並使用'window.name'的子字符串匹配。 –