我正在寻找一种方法来添加一个函数,告诉我的.playerWindow
只使用cookie加载一次。现在它每次刷新页面时都会加载。
<script type="text/javascript">
$(function () {
$("#button").click(function () {
$("#overlay").fadeTo(1000, .8);
$(".playerWindow").show(750);
//$("body").scrollTop(0);
});
$(".closePlayer, #overlay").click(function () {
$(".playerWindow").hide(750);
$("#overlay").fadeOut(1000);
});
});
$(window).load(function () {
if (document.cookie.indexOf('visited=true') === -1) {
var fifteenDays = 1000 * 60 * 60 * 24 * 15;
var expires = new Date((new Date()).valueOf() + fifteenDays);
document.cookie = "visited=true;expires=" + expires.toUTCString();
$("#overlay").fadeTo(1000, .8);
$(".playerWindow").show(750);
}
});
</script>
答案 0 :(得分:2)
$(window).load(function() {
if (document.cookie.indexOf('visited=true') === -1) {
var fifteenDays = 1000*60*60*24*15;
var expires = new Date((new Date()).valueOf() + fifteenDays);
document.cookie = "visited=true;expires=" + expires.toUTCString();
$("#overlay").fadeTo(1000, .8);
$(".playerWindow").show(750);
}
});
为了澄清,这个HTML页面适用于我的Apache服务器。
<html>
<head></head>
<body>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(window).load(function() {
if (document.cookie.indexOf('visited=true') === -1) {
var fifteenDays = 1000*60*60*24*15;
var expires = new Date((new Date()).valueOf() + fifteenDays);
document.cookie = "visited=true;expires=" + expires.toUTCString();
alert("bam!");
}
});
</script>
</body>
</html>
显示“bam!”我第一次访问,然后没有第二次,第三次等。在Chrome中打开隐身窗口会导致它再次出现。