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

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

自由小鸟5年前 (2021-01-15)javascript3575
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://webge.net/?id=104

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

this指向

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px 'Helvetica Neue'; color: #000000}es5 中 this指向该函数被调用的对象es6 中箭头函数的this指向是定义时的对象...

HTTP协议类

HTTP协议类

HTTP协议的主要特点    1,简单快速,每个资源是固定的,通过固定url就可以了    2,灵活  head有数据类型,一个HTTP协议可以完成不同数据类型的传输    3,无连接&nb...

函数参数会生成新的作用域

函数参数会生成新的作用域

如果函数定义了参数就会自动生成新的作用域,这时候里面的变量值就会先从参数新的作用域找,如果没有就会再往上面找直到全局...

event-loop

event-loop

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

数组去重

var a=[1,3,4,5,6,1,3,9,6]; //代码是去重后的 function arrfn(data){ let newObj={}; for(let i=0;i<data.length;i++...

js 深浅拷贝

对象浅拷贝Object.assign,也可以做到浅拷 slice let obj=[11,22,33,44,['aa','bb','cc']] let aaa=obj.slice(0); aaa[4][0]='ccc' c...