2014-04-01 135 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

相关问题