• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    javascript制作的cookie封裝及使用指南_javascript技巧

    來源:懂視網 責編:小采 時間:2020-11-27 21:31:21
    文檔

    javascript制作的cookie封裝及使用指南_javascript技巧

    javascript制作的cookie封裝及使用指南_javascript技巧:一、前言 之前使用cookie,都是document.cookie的形式去操作,兼容性雖好,但是麻煩。個人又是個比較喜歡造輪子的人,所以針對cookie,封裝了個工具類。很長時間以來,我都喜歡寫代碼,而不太喜歡文字總結,也不太喜歡寫些零碎的東西,看來得改。 二、思路
    推薦度:
    導讀javascript制作的cookie封裝及使用指南_javascript技巧:一、前言 之前使用cookie,都是document.cookie的形式去操作,兼容性雖好,但是麻煩。個人又是個比較喜歡造輪子的人,所以針對cookie,封裝了個工具類。很長時間以來,我都喜歡寫代碼,而不太喜歡文字總結,也不太喜歡寫些零碎的東西,看來得改。 二、思路

    一、前言

    之前使用cookie,都是document.cookie的形式去操作,兼容性雖好,但是麻煩。個人又是個比較喜歡造輪子的人,所以針對cookie,封裝了個工具類。很長時間以來,我都喜歡寫代碼,而不太喜歡文字總結,也不太喜歡寫些零碎的東西,看來得改。

    二、思路

    (1)如何封裝,封裝成啥樣

    如何封裝:就是使用原生的js封裝成工具,那樣到哪里都能能用。針對document.cookie封裝是最好的方式,所有的操作都基于document.cookie。

    封裝成啥樣:封裝成能夠以對象的形式存在,同時可以使用getter & setter方法的實行。

    (2)封裝哪些方法

    get()、set(name, value, opts)、remove(name)、clear()、getCookies()等等,個人覺得封裝這么多方法足矣使用cookie了。

    三、行動

    (1)了解cookie, cookie的實質是HTTP cookie,在客戶端表現的對象時document.cookie.更多了解,可以看我下面的代碼即注釋

    (2)上代碼:這些代碼應該都很直觀,并且可以配合項目代碼一起壓縮。我覺得下面的開頭的注釋是重點。

    代碼如下:
    /*
    * HTTP Cookie:存儲會話信息
    * 名稱和值傳送時必須是經過RUL編碼的
    * cookie綁定在指定的域名下,非本域無法共享cookie,但是可以是在主站共享cookie給子站
    * cookie有一些限制:比如IE6 & IE6- 限定在20個;IE7 50個;Opear 30個...所以一般會根據【必須】需求才設定cookie
    * cookie的名稱不分大小寫;同時建議將cookie URL編碼;路徑是區分cookie在不同情況下傳遞的好方式;帶安全標志cookie
    * 在SSL情況下發送到服務器端,http則不會。建議針對cookie設置expires、domain、 path;每個cookie小于4KB
    * */
    //對cookie的封裝,采取getter、setter方式
    (function(global){
    //獲取cookie對象,以對象表示
    function getCookiesObj(){
    var cookies = {};
    if(document.cookie){
    var objs = document.cookie.split('; ');
    for(var i in objs){
    var index = objs[i].indexOf('='),
    name = objs[i].substr(0, index),
    value = objs[i].substr(index + 1, objs[i].length);
    cookies[name] = value;
    }
    }
    return cookies;
    }
    //設置cookie
    function set(name, value, opts){
    //opts maxAge, path, domain, secure
    if(name && value){
    var cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);
    //可選參數
    if(opts){
    if(opts.maxAge){
    cookie += '; max-age=' + opts.maxAge;
    }
    if(opts.path){
    cookie += '; path=' + opts.path;
    }
    if(opts.domain){
    cookie += '; domain=' + opts.domain;
    }
    if(opts.secure){
    cookie += '; secure';
    }
    }
    document.cookie = cookie;
    return cookie;
    }else{
    return '';
    }
    }
    //獲取cookie
    function get(name){
    return decodeURIComponent(getCookiesObj()[name]) || null;
    }
    //清除某個cookie
    function remove(name){
    if(getCookiesObj()[name]){
    document.cookie = name + '=; max-age=0';
    }
    }
    //清除所有cookie
    function clear(){
    var cookies = getCookiesObj();
    for(var key in cookies){
    document.cookie = key + '=; max-age=0';
    }
    }
    //獲取所有cookies
    function getCookies(name){
    return getCookiesObj();
    }
    //解決沖突
    function noConflict(name){
    if(name && typeof name === 'string'){
    if(name && window['cookie']){
    window[name] = window['cookie'];
    delete window['cookie'];
    return window[name];
    }
    }else{
    return window['cookie'];
    delete window['cookie'];
    }
    }
    global['cookie'] = {
    'getCookies': getCookies,
    'set': set,
    'get': get,
    'remove': remove,
    'clear': clear,
    'noConflict': noConflict
    };
    })(window);

    (3)example

    代碼如下:




    cookie example


    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    javascript制作的cookie封裝及使用指南_javascript技巧

    javascript制作的cookie封裝及使用指南_javascript技巧:一、前言 之前使用cookie,都是document.cookie的形式去操作,兼容性雖好,但是麻煩。個人又是個比較喜歡造輪子的人,所以針對cookie,封裝了個工具類。很長時間以來,我都喜歡寫代碼,而不太喜歡文字總結,也不太喜歡寫些零碎的東西,看來得改。 二、思路
    推薦度:
    標簽: 操作 使用 cookie
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品一区在线播放| 成人国产精品动漫欧美一区| 成人国产精品高清在线观看| 精品无码一级毛片免费视频观看| 99国产精品永久免费视频| 亚洲精品A在线观看| 99久久精品国产毛片| 99精品视频3| 亚洲AV午夜福利精品一区二区| 精品人妻无码专区中文字幕| 精品久久久久久亚洲| 老司机性色福利精品视频| 久久精品国产亚洲一区二区三区| 久久精品免费观看| 国产精品女同一区二区| 亚洲伊人久久精品影院| 久久久久久青草大香综合精品| 亚洲综合一区二区国产精品| 99视频精品全部在线观看| 婷婷精品国产亚洲AV麻豆不片| 久久精品无码专区免费| 大胸国产精品视频| 国产精品久久久久久一区二区三区 | 欧美日韩国产精品自在自线| 久久亚洲国产欧洲精品一 | 久久综合精品国产一区二区三区| 国产成人久久精品二区三区| 四虎影视国产精品亚洲精品hd| 国产精品视频免费观看| 国产精品久久久久天天影视| 国产精品91视频| 国产精品久久久久久福利69堂| 国产精品夜色一区二区三区| jiucao在线观看精品| .精品久久久麻豆国产精品| 精品日韩亚洲AV无码一区二区三区| 亚洲AV日韩精品久久久久久| 精品无码人妻一区二区三区 | 国产午夜福利精品久久| 国产精品福利在线观看免费不卡 | 人妻少妇乱子伦精品|