2012-01-21 93 views
0

我想在首次訪問時打開彈出窗口。如果彈出窗口關閉,我想在下次刷新時重新打開彈出窗口。我嘗試使用cookie,但我無法弄清楚如何通知關閉窗口以刪除cookie。如何確定是否打開給定名稱的窗口

是否可以通過使用window.name來了解窗口是否打開?

if (window.name==MsgWindow) 
{ 
    openWin(); 
} 

function openWin() 
{ 
    myWindow=window.open('','MsgWindow','width=200,height=100'); 
    myWindow.document.write("<p>This window's name is: " + myWindow.name + "</p>"); 
} 

回答

0

如果你想要一個事件觸發該窗口關閉之前,你可以嘗試window.onbeforeunload

0

,你可以這樣做下面

var myWindow = ""; 

window.onbeforeunload = function(){ 
    if(myWindow == "" || myWindow.closed){ 
      openWin(); 
    } 
}; 

function openWin(){ 
    myWindow=window.open('','MsgWindow','width=200,height=100'); 
    myWindow.document.write("<p>This window's name is: " + myWindow.name + "</p>"); 
} 
+0

彈出窗口不應該刷新一次,主窗口refresh.please閱讀我的朱利安 – Gowri

+0

更新答案評論...現在就試試。 –

+0

彈出不是爲我而來 – Gowri

1

我覺得沒有如果只有窗口名稱,直接檢查窗口是否仍然打開。

然而,對於你的情況,你可以做到以下幾點:

// get reference to 'MsgWindow' (will open a new blank window if popup has been closed) 
var popupWindow = window.open('', 'MsgWindow', 'width=200,height=100'); 

// keep popup window in background 
window.focus(); 

// if popup window is blank (= has been closed before), load content 
if (popupWindow.location.href == "about:blank") { 
    popupWindow.location.href == /* your popup url here */; 
} 
+0

我試過你的解決方案,但沒有運氣。其實我的彈出窗口有播放器播放歌曲。所以當打開網站時,彈出窗口會開始播放歌曲。玩家不應該在主窗口導航中進行遊戲。這正是我想要做的 – Gowri

相關問題