0
有一個flash播放器彈出到單獨的彈出式瀏覽器窗口中。在源頁面上,Flash播放器只顯示一條消息,表明它當前彈出。獲取彈出窗口換頁後
現在,如果用戶導航離開源頁面(到同一域的另一頁),我如何獲得對彈出窗口的引用或只是檢測它是否打開(在新頁面上使用javascript)?
有一個flash播放器彈出到單獨的彈出式瀏覽器窗口中。在源頁面上,Flash播放器只顯示一條消息,表明它當前彈出。獲取彈出窗口換頁後
現在,如果用戶導航離開源頁面(到同一域的另一頁),我如何獲得對彈出窗口的引用或只是檢測它是否打開(在新頁面上使用javascript)?
想通了。必須在彈出的窗口中有一個JavaScript定時器,它試圖在父窗口中執行一個函數,如果存在,它將簡單地隱藏播放器。
例如
彈出式視窗腳本
<script>
if(window.opener!=null)
setTimeout("popCheck();",2000);
function popCheck()
{
//Use try catch to prevent premission denied msgs in
//case parent window is on different domain
try
{
window.opener.setPoppedOut();
}
catch(e)
{
}
//Check Every 2 seconds
setTimeout("popCheck();",2000);
}
window.onbeforeunload = function()
{
//Used to facilitate popin on window close
if(window.opener!=null)
{
try
{
window.opener.setPoppedIn();
}
catch(e)
{
}
}
}
</script>
父窗口腳本
<script>
//Save the previous contents so that we can restore them later.
window.popoutContent = document.getElementById("popoutContent").innerHTML;
function setPoppedOut()
{
document.getElementById("popoutContent").innerHTML = "Player is Popped Out";
}
function setPoppedIn()
{
document.getElementById("popoutContent").innerHTML = window.popoutContent;
}
</script>
你可以在新的頁面新頁面後打開彈出窗口底部寫腳本加載 – GustyWind 2011-05-16 04:56:29
那會刷新彈出窗口,如果它已經加載,彈出窗口包含一個音頻播放器,所以重新加載會導致音樂播放中斷。 Facebook以其突出的聊天功能以某種方式做到這一點,在離開他們的網站之後,聊天仍然可用,並且在返回到他們的網站時不會重新加載,並且它顯示聊天在他們頁面的底部彈出。所以希望有這樣的事情 – 2011-05-16 05:07:52