js 设置cookie

#1.代码实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>cookieTest</title>
</head>
<body>
    <script>
         /**
            写cookie
                name:cookie名字
                value:用于编码
                second:cookie的时长
         */
         function setCookie(name,value,second){
            if (!second) {
                second = 7*24*60*60;        // 默认设置7天
            }
            let exp = new Date();
            exp.setTime(exp.getTime()+second*1000);

            document.cookie=name+'='+escape(value)+';expires='+exp.toGMTString()+';path=/';
         } 

         /**
            读cookie
         */
         function getCookie(name){
            let cookie_start=0; 
            let cookie_end=0;
            if (document.cookie.length>0) {
                cookie_start=document.cookie.indexOf(name+'=');
                if (cookie_start != -1) {
                    cookie_start = cookie_start+name.length+1;
                    cookie_end = document.cookie.indexOf(';',cookie_start);
                    if (cookie_end == -1) {
                        cookie_end = document.cookie.length;
                    }
                    return decodeURI(document.cookie.substring(cookie_start,cookie_end));
                }
            }
         }

        function checkCookieEveryday(name,method){
            let cookie = getCookie(name);
            if (!cookie) {
                method('每天执行一次');
                // 获取到第二天还剩的秒数
                let second = 24*60*60 - (new Date().getHours()*60*60 + new Date().getMinutes()*60 + new Date().getSeconds());
                setCookie(name,'hqx',second);
            }
        }

        function doSomethingEveryday(msg){
            console.log(msg);
        }

        checkCookieEveryday('wq',doSomethingEveryday);
    </script>    
</body>
</html>

注:本地html不一定能够设置cookie,必须启动服务器(这里只是演示代码)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值