我有以下代码:
if ($_COOKIE['lightbox'] != "1") {
setcookie("lightbox", "1", time()+3600);
echo("
<script type='text/javascript'>
if (window.addEventListener) { // Mozilla, Netscape, Firefox
window.addEventListener('load', WindowLoad2, false);
} else if (window.attachEvent) { // IE
window.attachEvent('onload', WindowLoad2);
}
function WindowLoad2(event) {
displayLightbox();
}
</script>
");
}
我基本上试图通过使用cookie为每个用户运行displayLightbox()一次。出于某种原因,我将在网站上的每个页面上获取它,除了我在CTRL + F5页面时。使用ctrl + f5后,我不再获得灯箱。有什么想法吗?
答案 0 :(得分:1)
这似乎是第一次没有设置你的cookie,事件被添加到你的窗口(除非你做一个CTRL + F5),因此在每次加载页面时,都会调用displayLightbox()
。尝试取消IF中ELSE部分的事件。
或者,尝试将您的JS代码更改为:
if ($_COOKIE['lightbox'] != "1") {
setcookie("lightbox", "1", time()+3600);
echo("
<script type='text/javascript'>
displayLightbox();
</script>
");
}
希望这有帮助。