亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

javascript與cookie 的問題詳解

2019-11-20 21:44:16
字體:
來源:轉載
供稿:網友

原來用 js 讀寫 cookie 一直沒有注意一個問題:
相同的 key 值,不同的 domain (locahost.dev.xxx.com, dev.xxx.com, xxx.com 等) 是可以同時存在于Cookie 里的 , document.cookie 能把這幾個 cookie 都讀出來,但是沒有 domain 信息. 我也試著找用什么方法能把 cookie 的 domain 信息讀取出來,可是很不幸, 沒有找到(不知道你有沒有什么方法能把 domain 信息給讀出來, 如有,請賜教)
出現這個問題的場景:
剛開始的時候,是想讓 本地(localhost.dev.xxx.com) 和 dev (dev.xxx.com) 與 uat (xxx.com) 環境的 cookie 互不影響, 我跟據 location.hostname 生成 cookieDomain

1 var cookieDomain = document.domain;   2 3  var tmp = location.hostname.split(.);   4 5  if(tmp.length > 2)6 7 cookieDomain = tmp.slice(1).join(.);
寫 cookie 的時候,我把 domain 設為這個 cookieDomain , 這樣一來, 不同的壞境的 cookie 就會寫到不同的 domain 下面, 看似互不影響.
但是在取的時候, 可以取出來N個相同的 key 的 cookie 值來! 而我只取第一次出現的 cookie, 這樣就造成了取出的值很有可能是錯的. 就這個問題, 客戶單位像狗皮膏藥一樣貼住我了!跟他們解釋了N次,說你們對外只提供一個網址, 瀏覽者的電腦不會出現取值錯誤的情況(因為只有一個  domain ). 可是牙的每次BUG匯總里,總會把這個問題列出來! 所有解釋等于對牛彈琴.
木折, 那我就把所有用 js 寫的 cookie 寫到根域名下吧, 省得這幫家伙叫來叫去,大問題不關注,小問題看賊細賊,本末倒置!

復制代碼 代碼如下:

(function(){

    // 清除舊版本的 cookie
    if(CTSZ.Cookie.get("cookieVersion") != Params.cookieVersion){
        var tmps = Params.orgDomain.split(.);
        var domain;
        var len = tmps.length;
        for(var i=0;i<= len - 3; i++){
            tmps.shift();
            domain = tmps.join(.);
            CTSZ.Cookie.empty("/", domain);
        }
        CTSZ.Cookie.set("cookieVersion", Params.cookieVersion, Params.cookieExpires, "/", Params.cookieDomain);
    }
})();

    $.Cookie = {};
    (function ($) {
        $.getExpires = function (y, m, d, h, i, s, ms) {
            var date = new Date();
            y = isNaN(y) ? date.getFullYear() : y;
            m = isNaN(m) ? date.getMonth() : m - 1;
            d = isNaN(d) ? date.getDate() : d;
            h = isNaN(h) ? date.getHours() : h;
            i = isNaN(i) ? date.getMinutes() : i;
            s = isNaN(s) ? date.getSeconds() : s;
            ms = isNaN(ms) ? date.getMilliseconds() : ms;
            return new Date(y, m, d, h, i, s, ms).toUTCString();
        }
        $.getExpiresByUTCString = function (UTCString) {
            var s = new Date(UTCString).toUTCString();
            if (s == NaN || s == Invalid Date)
                return null; // IE,Opera NaN , FF,Safari Invalid Date;
            else
                return s;
        }

        $.set = function (k, v, expires, path, domain, secure) {
            var cookie = k + = + encodeURIComponent(v);
            if (expires) cookie += ";expires=" + expires;
            if (path) cookie += ";path=" + path;
            if (domain) cookie += ";domain=" + domain;
            if (secure) cookie += ";secure";
            document.cookie = cookie;
        }

        /*
        以前是把所有 cookie 都取出放到一個對象里,在 get 的時候,直接從那個對象里取來,現在想想,那樣并不正確。因為假如某個 cookie 的過期時間過了,那個對象并沒有更新。
        */
        $.get = function (k) {
            var cks = document.cookie.split(;);
            var t;
            for (var i = 0; i < cks.length; i++) {
                t = cks[i].split(=);
                if (k == t[0].trim()) return t.length >= 2 ? decodeURIComponent(t[1]) : "";
            }
            return null;
        }
        $.remove = function (k, path, domain) {
            $.set(k, , $.getExpires(new Date().getFullYear() - 1), path, domain);
        }
        $.empty = function (path, domain) {
            var cks = document.cookie.split(;);
            var t;
            for (var i = 0; i < cks.length; i++) {
                $.remove(cks[i].split(=)[0].trim(), path, domain);
            }
        }
    })($.Cookie);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线国产精品播放| 久久久国产精品视频| 国产精品jizz在线观看麻豆| 国产精品久久久久久一区二区| 国产精品福利无圣光在线一区| 亚洲国产高潮在线观看| 日韩电视剧在线观看免费网站| 国产成人精品午夜| 日韩欧美精品网址| 91久久久久久久久久久久久| 91精品国产乱码久久久久久久久| 国产精品久久久久久久久粉嫩av| 亚洲片国产一区一级在线观看| 岛国精品视频在线播放| 精品久久中文字幕| 亚洲精品v欧美精品v日韩精品| 中文字幕亚洲综合久久筱田步美| 亚洲精品成人久久久| 97精品国产97久久久久久| 中文字幕欧美国内| 一本一道久久a久久精品逆3p| 国产欧美久久久久久| 国产精品久久网| 中文字幕精品一区二区精品| 亚洲大尺度美女在线| 国产免费一区二区三区在线能观看| 97精品国产97久久久久久免费| 51精品在线观看| 欧美日韩xxxxx| 国产欧亚日韩视频| 九九综合九九综合| 国产香蕉一区二区三区在线视频| 久久久99久久精品女同性| 8x拔播拔播x8国产精品| 亚洲高清久久网| 亚洲欧洲午夜一线一品| 亚洲精品大尺度| 久久国产精品久久久久久| 亚洲天堂一区二区三区| 92国产精品久久久久首页| 久久久久久中文字幕| 成人国产精品色哟哟| 欧美噜噜久久久xxx| 久久天天躁狠狠躁夜夜躁| 欧美一级片在线播放| 亚洲最大福利视频| 亚洲一区二区久久| www欧美日韩| 中国日韩欧美久久久久久久久| 91极品女神在线| 色综合色综合久久综合频道88| 欧美日韩精品在线播放| 欧美尺度大的性做爰视频| 国产视频精品自拍| 色综合久久悠悠| 亚洲人成电影网站色…| 日韩美女视频中文字幕| 欧美黑人性猛交| 欧美成人精品激情在线观看| 欧美激情一区二区久久久| 亚洲欧美日韩在线一区| 国产精品丝袜久久久久久不卡| 亚洲精品动漫久久久久| 欧美黑人性猛交| 国产精品中文久久久久久久| 操人视频在线观看欧美| 亚洲国产成人精品女人久久久| 国产精品福利片| 国产精品午夜国产小视频| 亚洲精品videossex少妇| 成人444kkkk在线观看| 精品久久久香蕉免费精品视频| 亚洲精品福利免费在线观看| 狠狠色香婷婷久久亚洲精品| 国产精品成人一区二区| 韩国19禁主播vip福利视频| 高跟丝袜一区二区三区| 欧美麻豆久久久久久中文| 亚洲黄色www网站| 久久免费精品视频| 日韩中文字幕免费看| 亚洲人成绝费网站色www| 国产精品午夜国产小视频| 夜夜嗨av色综合久久久综合网| 欧美高清在线视频观看不卡| 久久免费精品视频| 久久久免费高清电视剧观看| 欧美一乱一性一交一视频| 日韩精品中文字幕在线| 欧美成人中文字幕在线| 欧美综合一区第一页| 国产精品精品久久久久久| 亚洲美女中文字幕| 欧美电影免费观看高清完整| 亚洲欧美中文日韩在线| 国产在线播放91| 欧美大荫蒂xxx| 97高清免费视频| 在线观看不卡av| 欧美在线免费观看| 国产精品欧美风情| 91精品视频免费观看| 亚洲免费人成在线视频观看| 最近2019中文免费高清视频观看www99| 欧美日韩亚洲成人| 欧美激情亚洲精品| 国产精品96久久久久久又黄又硬| 在线观看精品国产视频| 91地址最新发布| 亚洲精品有码在线| 亚洲国产另类 国产精品国产免费| 亚洲xxxx妇黄裸体| 性色av一区二区三区| 欧美网站在线观看| 精品日韩视频在线观看| 国产精品草莓在线免费观看| 国产成+人+综合+亚洲欧洲| 欧美精品一区二区三区国产精品| 欧美日韩国产激情| 亚洲色图美腿丝袜| 日韩va亚洲va欧洲va国产| 91色精品视频在线| 91精品国产高清自在线| 一区二区欧美日韩视频| 亚洲国产成人精品久久久国产成人一区| 亚洲一区免费网站| 日韩在线播放视频| 一区二区三区视频免费在线观看| 欧美国产中文字幕| 中文字幕九色91在线| 4438全国亚洲精品在线观看视频| 国产精品第二页| 亚洲国产中文字幕久久网| 97免费在线视频| 成人精品一区二区三区电影免费| 午夜精品美女自拍福到在线| 久久精品国产99国产精品澳门| 26uuu亚洲伊人春色| 97国产一区二区精品久久呦| 久久精品国产综合| 亚洲人成电影网站| 亚洲第一视频网| 国产成人a亚洲精品| 久久精品一区中文字幕| 91国内精品久久| 欧美精品情趣视频| 亚洲国产97在线精品一区| 欧美性极品xxxx做受| 日韩一级裸体免费视频| 欧美在线观看日本一区| 国产精品精品一区二区三区午夜版| 国产91成人video| 欧美天天综合色影久久精品| 精品中文字幕在线2019| 91精品国产综合久久香蕉最新版| 91高清视频免费| 国产成+人+综合+亚洲欧洲| 亚洲欧洲偷拍精品| 国产精品视频网址| 亚洲国产古装精品网站| 国产日韩精品综合网站| 亚洲网址你懂得| 国产视频久久久久久久| 国产精品偷伦视频免费观看国产|