【问题标题】:How can i set current time and date as cookie?如何将当前时间和日期设置为 cookie?
【发布时间】:2019-04-12 19:04:16
【问题描述】:

我想将访问者首次访问我网站的时间和日期设置为 cookie。

我尝试了下面的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<script>
   var dt = new Date();
   var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
   Cookies.set('vtime', time, { expires: 7, path: '' });
   alert(Cookies.get('vtime')); 
</script>

使用上面的代码,时间在重新加载时会发生变化。 请帮我解决这个问题。

【问题讨论】:

  • 每当页面刷新时,javascript都会被执行,所以如果用户访问有任何有效的会话,你应该使用本地存储或会话存储,然后从服务器端执行
  • 你应该在设置它的内容之前读取cookie,即如果cookie没有设置,那么设置它

标签: jquery cookies jquery-cookie


【解决方案1】:

问题是 cookie 在每次刷新时都会被替换。因此,只需检查 cookie 是否已设置

if(!Cookies.get('vtime')) {
    var dt = new Date();
    var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
    Cookies.set('vtime', time, { expires: 7, path: '' });
    alert(Cookies.get('vtime')); 
}

【讨论】:

  • 没问题@InsightCoders,总是乐于提供帮助
  • 一个问题,当我关闭浏览器窗口并重新打开页面时,它再次重置时间。我想保持时间不变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 2012-11-19
  • 2016-03-20
  • 2013-04-15
  • 2019-01-07
  • 1970-01-01
相关资源
最近更新 更多