DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 用js讀、寫、刪除Cookie代碼續篇
用js讀、寫、刪除Cookie代碼續篇
編輯:關於JavaScript     

上次的一篇文章:用js讀、寫、刪除Cookie代碼分享及詳細注釋說明,在實踐中發現了一些問題:

1.cookie在本地文件上只能在火狐上調試,IE和chrome無效

2.cookie沒有設置為永不過期,只考慮了設置一個時間段就過期,顯然不太合理。

這次給出的是比較合理的cookie操作代碼:

復制代碼 代碼如下:
var Cookie = {
    get: function (k) {
        return ((new RegExp(["(?:; )?", k, "=([^;]*);?"].join(""))).test(document.cookie) && RegExp["$1"]) || "";
    },
    set: function (k, v, e, d) {
        var date=new Date();
        var expiresDays=e;
        date.setTime(date.getTime()+expiresDays*24*3600*1000);
        //如果有設置時間,則在規定時間內使用cookie,否則就是永不過期
        document.cookie=k+"="+v+"; expires="+ (e != '' ? date.toGMTString(): "GMT_String")+";path=/;domain="+ (d||'');
    },
    del: function (k) {
        var date=new Date();
        //將date設置為過去的時間
        date.setTime(date.getTime()-10000);
        document.cookie=k+"=; expires="+date.toGMTString();
    }
};

例子演示的是:點擊文字展開內容,再次點擊隱藏。當內容為隱藏時,下次打開還是隱藏的,當內容為顯示時,下次打開還是顯示。

復制代碼 代碼如下:
<div class="tab">
 <h3 class="tab-header">收縮</h3>
 <div class="tab-con" id="tabCon">
  <p>展開之後可見這裡的內容</p>
 </div>
</div>
var btn = document.getElementsByTagName('h3')[0];
btn.addEventListener('click',function(){
 var isClose = this.getAttribute('data-isClose');
 if(isClose == 'close'){
  show();
  Cookie.del('flag');
 }else{
  hide();
  Cookie.set('flag','hide');
 }
});
var tabCon = document.getElementById('tabCon');
function show(){
 tabCon.style.display = 'block';
 btn.setAttribute('data-isClose','open');
 btn.innerHTML = '收縮';
}
function hide(){
 tabCon.style.display = 'none';
 btn.setAttribute('data-isClose','close');
 btn.innerHTML = '展開';
}
var flag = Cookie.get('flag');
if(flag == 'hide'){
 hide();
}

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved