带有cookie的信息框将一直显示

时间:2015-10-12 20:32:25

标签: javascript jquery html asp.net cookies

这就是当我点击我的按钮以便重新加载页面的时候,我记得看起来像“单击时自行离开。”但是当我点击时它没有设置cookie,它也检查了它是否也没有设定与否?。

所以现在的问题是:

  • Cookie不会添加
  • 我们今天查看的日期比我们使用Cookie的日期还要多10天,换句话说,再次播放节目内容前10天。

我使用asp.net中的网络表单

这里的Html代码

<div style="position: relative;" id="#CookieBox">
            <div class="alert alert-info fade in nomargin" style="margin: 0; position:fixed; bottom:0; right:0; left:0; height:65px; border-radius:0; z-index:10000;">
                <div class="container">
                    <p style="font-size:11px;">
                        Cookies er nødvendige for at få hjemmesiden til at fungere, men cookies giver også info om hvordan du bruger vores hjemmeside. og Cookies på denne hjemmeside bruges primært til trafikmåling
                        <button class="btn btn-info" id="AccepterCookie">Accepter</button>
                        <a href="../cookie/Cookies.pdf" target="_blank">Læs mere</a>
                    </p>
                </div>
            </div>
        </div>

这里的Jquery代码

<script>
            var datoCookieValue = (new Date).setDate(10); //This cookie number of days

            //It must check in sf whether it is null or whether it is more than the 10 days that I have chosen.
            if (datoCookieValue == null || datoCookieValue >= (new Date).getDay)//checking up on whether the cookie is "set"
            {
                //when you click "Accept" so be content with cookie box contents go away
                $("#AccepterCookie").click(function () {
                    $("#CookieBox").slideDown("slow");//shuts down the cookie box.

                    //addcookie here
                    $.cookie("CookieAdd", 1, { expires: datoCookieValue });
                });
            }
            else
            {
                //must first show box on the 10 days it will look when the 
                //10 days are up then the display contents again.
                $("CookieBox").hide("fast");
            }
        </script>

1 个答案:

答案 0 :(得分:2)

在jquery中,你有时使用#CookieBox和CookieBox选择器。如果您认为我在您认为日期的条件没有必要,因为cookie有到期时间。

这是我的解决方案:

<div style="position: relative; display:none" id="CookieBox">
            <div class="alert alert-info fade in nomargin" style="margin: 0; position:fixed; bottom:0; right:0; left:0; height:65px; border-radius:0; z-index:10000;">
                <div class="container">
                    <p style="font-size:11px;">
                        Cookies er nødvendige for at få hjemmesiden til at fungere, men cookies giver også info om hvordan du bruger vores hjemmeside. og Cookies på denne hjemmeside bruges primært til trafikmåling
                        <button class="btn btn-info" id="AccepterCookie">Accepter</button>
                        <a href="../cookie/Cookies.pdf" target="_blank">Læs mere</a>
                    </p>
                </div>
            </div>
        </div>

jQuery的:

var datoCookieValue = $.cookie('CookieAdd');

  if (!datoCookieValue) {
      $("#CookieBox").show();

      $("#AccepterCookie").click(function() {
          $("#CookieBox").hide("slow");
          $.cookie("CookieAdd", 1, {
              expires: 10
          });
      });
  }

JS小提琴:https://jsfiddle.net/cLtazsry/