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);
            }
        }
    });
    
  • 相关阅读:
    configure: error: C++ preprocessor "/lib/cpp" fails sanity check See `config.log' for more details
    php7安装swoole
    Navicat 连接Mysql 8.0以上版本报错1251的详细解决方案
    1130
    linux中的 /etc/profile文件centos7
    linux安装php遇到的No package 'sqlite3' found,解决方法:
    ll: command not found
    每日一题 为了工作 2020 0325 第二十三题
    每日一题 为了工作 2020 0324 第二十二题
    每日一题 为了工作 2020 0323 第二十一题
  • 原文地址:https://www.cnblogs.com/xz233/p/13555948.html
Copyright © 2011-2022 走看看