0

我有以下代码:

   <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来做到这一点。问题是,我看不到我应该看到的消息。有谁知道为什么?

4

2 回答 2

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");
    }
}
于 2013-05-21T22:17:24.327 回答
0

试试这个:

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

输出是"-1"这意味着字符串"visited=yes"不会被搜索词找到"visited"

http://jsfiddle.net/m5x3M/

在 JavaScript 中按名称获取 cookie 的最佳方法是什么?

于 2013-05-21T22:24:06.410 回答