Javascript - 检查页面加载中是否存在cookie对我不起作用

时间:2013-05-21 22:12:00

标签: javascript cookies if-statement

我有以下代码:

   <script type="text/javascript">
  function myfuncc () {
  if (document.cookie.indexOf("visited") >= 0) {
    // They've been here before.
    alert("hello again");
  }
  else {
    // set a new cookie
    expiry = new Date();
    expiry.setTime(date.getTime()+(10*60*1000)); // Ten minutes

    // Date()'s toGMTSting() method will format the date correctly for a cookie
    document.cookie = "visited=yes; expires=" + expiry.toGMTString();
    alert("this is your first time");
  }
  }


  </script>
  <script type="text/javascript">

  window.onload = myfuncc;
  </script>

正如你可以看到window.onload函数,我试图检查一旦页面加载后是否已经在站点上存在游标。我正在使用cookies这样做。问题是,我看不到我应该写的消息。谁知道为什么?

2 个答案:

答案 0 :(得分:0)

您必须使用toUTCString()方法设置过期日期。 您还有一个未初始化的date对象,请尝试以下操作:

function myfuncc () {
    if (document.cookie.indexOf("visited") >= 0) {
        // They've been here before.
        alert("hello again");
    }
    else {

        var expiry = new Date();
        expiry.setTime(expiry.getTime()+(10*60*1000)); // Ten minutes

        document.cookie = "visited=yes; expires=" + expiry.toUTCString();

        alert("this is your first time");
    }
}

答案 1 :(得分:0)

尝试一下:

var testarr = ["knirpsel", "text", "visited=yes"].indexOf("visited");
alert ( testarr );

输出为"-1",这意味着搜索字词"visited=yes"

找不到字符串"visited"

http://jsfiddle.net/m5x3M/

What is the best way to get a cookie by name in JavaScript?