zoukankan      html  css  js  c++  java
  • cookie封装

    方法一

    let cookie = {
        set: function (name, value, days) {
            let d = new Date();
            d.setDate(d.getDate() + days)
            document.cookie = `${name}=${encodeURIComponent(value)};expires=${d};path=/`;
        },
        get: function (name) {
            let arr = decodeURIComponent(document.cookie).split('; ');
            for (let i = 0; i < arr.length; i++) {
                let newarr = arr[i].split('=');
                if (name === newarr[0]) {
                    return newarr[1];
                }
            }
        },
        unset: function (name) {
            this.set(name, '', -1)
        }
    }
    

    方法二—VUE路由

    export function getCookie (key) {
        if (document.cookie) { // 判断是否有cookie
            let arr = document.cookie.split('; '); // 拆分所有cookie 
            for (let i = 0; i < arr.length; i++) {
                let item = arr[i].split('='); // 将cookie数据拆分成 key value
                // 通过key  查找value
                if (item[0] === key) return item[1]; // 找到key  返回value
            }
            return ''; // 如果循环结束 都没有 则返回空字符串
        }
    }
    export function setCookie (key, value, day) {
        if (typeof day === 'number') {
            let d = new Date();
            d.setDate(d.getDate() + day);
            document.cookie = `${key}=${value};expires=${d};path=/`;
        } else {
            document.cookie = `${key}=${value};path=/`;
        }
    }
    

    方法三—模块化

    define([], function() {
        return {
            get(key) {
                if (document.cookie) { // 判断是否有cookie
                    let arr = document.cookie.split('; '); // 拆分所有cookie 
                    for (let i = 0; i < arr.length; i++) {
                        let item = arr[i].split('='); // 将cookie数据拆分成 key value
                        // 通过key  查找value
                        if (item[0] === key) return item[1]; // 找到key  返回value
                    }
                    return ''; // 如果循环结束 都没有 则返回空字符串
                }
            },
    
            set(key, value, day) {
                if (typeof day === 'number') {
                    let d = new Date();
                    d.setDate(d.getDate() + day);
                    document.cookie = `${key}=${value};expires=${d};path=/`;
                } else {
                    document.cookie = `${key}=${value};path=/`;
                }
            },
    
            remove(key) {
                this.set(key, '', -1);
            }
        }
    });
    
  • 相关阅读:
    守望先锋2中源氏皮肤变化
    博客园页面定制设置背景
    京剧中的“八句唱法”
    长歌行
    长相知-《上邪》-汉乐府
    Eclipse离线安装svn插件
    不安装Oracle客户端,用PLSQL连接Oracle
    常见数据库默认端口以及常用数据类型
    Python2.7 删除前N天日志文件
    Anaconda用conda创建python虚拟环境
  • 原文地址:https://www.cnblogs.com/xz233/p/13555948.html
Copyright © 2011-2022 走看看