javascript,cookie 24:00过期

方法一:当天第一次访问的时候保存cookie,过期时间为当天24:00.

 chrome和其他浏览器存在时差问题。firefox某些情况调试工具那里不会删除过期cookie。

function setCookie(name, value) {
  const curDate = new Date();
  const curTamp = curDate.getTime();
  const curDay = curDate.toLocaleDateString();
  let curWeeHours = new Date(curDay).getTime() - 1;
  if (window.navigator.userAgent.indexOf('Chrome') !== -1) {
    curWeeHours += 8 * 60 * 60 * 1000;
  }
  const passedTamp = curTamp - curWeeHours;
  const leftTamp = 24 * 60 * 60 * 1000 - passedTamp;
  const leftTime = new Date();
  leftTime.setTime(leftTamp + curTamp);
  document.cookie = `${name}=${value};expires=${leftTime.toGMTString()}`;
}

function getCookie(name) {
  const result = document.cookie.replace(/\s/g, '');
  const resultArr = result.split(';');
  for (let i = 0; i < resultArr.length; i += 1) {
    const nameArr = resultArr[i].split('=');
    if (nameArr[0] == name) {
      return nameArr[1];
    }
  }
  return '';
}

function isFirstVisitOfTody() {
  const firstVisitOfTody = getCookie('firstVisitOfTody');
  if (!firstVisitOfTody) {
    $('.js-TipBox').removeClass('hide');
    setCookie('firstVisitOfTody', true);
    $('.js-Close').on('click', () => {
      $('.js-TipBox').addClass('hide');
    });
  }
}

方法二:localStrorage存储当天第一次访问的时间

if (isFirstVisitOfTody()) {
  localStorage.setItem('firstVisitTimeOfTody', new Date());
}

function isFirstVisitOfTody() {
  let firstVisitTimeOfTody = localStorage.getItem('firstVisitTimeOfTody');
  if (!firstVisitTimeOfTody) {
    return true;
  }
  
  firstVisitTimeOfTody = new Date(firstVisitTimeOfTody);
  if ((new Date() - firstVisitTimeOfTody - (1000 * 60 * 60 * 24)) >= 0) {
    return true;
  }
  
  return false;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值