1

我正在寻找一种方法来添加一个函数,告诉我.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>
4

1 回答 1

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>

它显示“砰!” 我第一次访问,然后第二次、第三次等什么都没有。在 Chrome 中打开隐身窗口会导致它再次出现。

于 2013-02-25T23:44:15.277 回答