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

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

自由小鸟4年前 (2021-01-15)javascript3503
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实现在一天内只执行一次” 的相关文章

数组有哪些原生方法

赋值方法:pop 和 push   pop // 删除数组最后一个元素,返回被删除的元素push // 在数组尾部插入1-N个元素,返回操作后数组的lengthshift     //  删除数组第一个元素,返回被删除的元素uns...

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

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

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

js 深浅拷贝

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

js 宏任务和微任务

js 宏任务和微任务

首先讲粗略说一下宏任务和微任务宏任务:script(整体代码), setTimeout, setInterval微任务包括: Promise, MutationObserver(html5新特性),process.nextTick。 代码从上至下在执行过程,遇到Promise,new Promi...

js原型链

js原型链

看到好的文章赶紧都收藏起来,但是有时收藏的太多内存不够呀,还是记录到我的博客上比较好,有时好的文章突然的某天就打不开了,那是多少痛的领悟,哈哈 文章转自 https://juejin.im/post/5d31ea79e51d457778117452...