当前位置:首页 > javascript > 正文内容

js cookie实现在一天内只执行一次

自由小鸟5年前 (2021-01-15)javascript3697
function versionExpireTime(key,method) {
    var v = getCookie(key);
    if (!v) {
        method(true);  //外面传进来的callback,方便告诉外部是否过期
        //获取第二天凌晨到当前时间的秒数
        var time_sec = 24 * 60 * 60 - (new Date().getHours() * 60 * 60 + new Date().getMinutes() * 60 + new Date().getSeconds());
        setCookie(key, "1", time_sec);
    }
}
function dosome(msg){
    console.log(msg);
}
//写cookies
function setCookie(name, value, second) {
    if (!second) {
    second = 7 * 24 * 60 * 60;//默认7天
    }
    var exp = new Date();
    exp.setTime(exp.getTime() + second * 1000);
    document.cookie = name + "=" + encodeURI(value) + ";expires=" + exp.toGMTString() + ";path=/";
}
//读取cookies
function getCookie(name) {
    if (document.cookie.length > 0) {
       let  c_start = document.cookie.indexOf(name + "=");//获取字符串的起点
        if (c_start != -1) {
        c_start = c_start + name.length + 1;//获取值的起点
        let c_end = document.cookie.indexOf(";", c_start);//获取结尾处
        if (c_end == -1) c_end = document.cookie.length;//如果是最后一个,结尾就是cookie字符串的结尾
            return decodeURI(document.cookie.substring(c_start, c_end));//截取字符串返回
        }
    }
    return '';
}

export default versionExpireTime;

版权声明:本文由Web学习之路发布,如需转载请注明出处。

本文链接:https://www.webge.net/?id=104

“js cookie实现在一天内只执行一次” 的相关文章

h5绘制图画

参考网站资料编写的绘图<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">  ...

正则的规则

正则的两个特点:懒惰:如果没有设置全局g的情况下,只匹配1次,这时候的lastIndex的值是0贪婪:...

event-loop

event-loop

如果知道js运行机制,在工作中会帮助我们更好的理解和编写代码,也知道为什么js是单线程js为什么是单线程原因,就是为了避免DOM渲染的冲突异步是一种“无奈”的解决方案,虽然有很多问题,如下:1,没按照书写方式执行,可读性差2,callback中不容易模块化什么是event-loop1,同步代码,直接...

防抖和节流

如果我在一个时间内只执行一次,最好用防抖,如果只是想在执行时,设置一下间隔时间那么用节流 防抖是在一个时间内只能执行一次,如果频繁操作就会清除重新开始计算执行,我设置的时间内整个过程中只会执行一次/* 函数的防抖 debounce,不是某个事件触发就去执行函数,而是在指定的时间间隔内执行...

SSO单点登陆

1、单点登录实现原理1)登录 注意:1)跳转SSO验证登录时,需要使用sendDirect重定向;2)浏览器与SSO之间建立的会话成为全局会话。扩展:a.spring项目如何获取本机的IP地址? 获得仅为ip地址不带端口b.spring项目如何获取项目端口? 2)注销 SSO认证中心有一个全...

IOS软键盘收起留白问题及Input光标过长问题

1.Input光标过长问题iso 中input 光标长度与line-height有关,input本身字体就是上下居中的因此不需要设置,但如果想控制光标的长度可以通过设置line-height高度来控制; 2.IOS软键盘收起留白 1.可以通过输入框失去焦点 <div class=&quo...