2014-04-01 175 views
0

我有這個彈出式代碼,一旦用戶關閉瀏覽器窗口就會激活。問題是我在我的網站上有圖片,所以每次衝浪者點擊一張圖片就好像他被從網站上拿走,彈出窗口顯示。每個瀏覽器會話cookie一次

我想使這個彈出窗口只顯示一次瀏覽器會話。

var sync = true; 
window.onbeforeunload = doSync; 

function doSync() { 
if (sync == true) { 
window.open('myurl', '_blank'); 
} 
else { 
return; 
} 
} 

那麼......我應該放置什麼樣的代碼來製作每瀏覽器瀏覽器cookie?

提前致謝!

回答

1

Cookie是用於存儲要與每一個請求所以不使用cookies在所有的這向服務器發送數據,使用sessionStorage

var sync = true; 
window.onbeforeunload = doSync; 

function doSync() { 
    if (sync && !window.sessionStorage.getItem('popupShown')) { 
     window.sessionStorage.setItem('popupShown', 1); 
     window.open('myurl', '_blank'); 
    } 
} 

popupShown是標誌的sessionStorage指定它發生之前。

+0

Paul S謝謝你。我做了一些測試,它似乎工作,並做我需要的。 – user3475615

+0

就像任何人使用這個和作爲像我這樣的新手的評論:儘量不要使用同一網站上的頁面目標空白,因爲sessionStorage會認爲這是一個新的實例,並打開另一個彈出窗口,它可以是惱人的。 – user3475615

相關問題