用js讀、寫、刪除Cookie代碼續(xù)篇
上次的一篇文章:用js讀、寫、刪除Cookie代碼分享及詳細注釋說明,在實踐中發(fā)現(xiàn)了一些問題:
1.cookie在本地文件上只能在火狐上調(diào)試,IE和chrome無效
2.cookie沒有設(shè)置為永不過期,只考慮了設(shè)置一個時間段就過期,顯然不太合理。
這次給出的是比較合理的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);
//如果有設(shè)置時間,則在規(guī)定時間內(nèi)使用cookie,否則就是永不過期
document.cookie=k+"="+v+"; expires="+ (e != '' ? date.toGMTString(): "GMT_String")+";path=/;domain="+ (d||'');
},
del: function (k) {
var date=new Date();
//將date設(shè)置為過去的時間
date.setTime(date.getTime()-10000);
document.cookie=k+"=; expires="+date.toGMTString();
}
};
例子演示的是:點擊文字展開內(nèi)容,再次點擊隱藏。當內(nèi)容為隱藏時,下次打開還是隱藏的,當內(nèi)容為顯示時,下次打開還是顯示。
<div class="tab">
<h3 class="tab-header">收縮</h3>
<div class="tab-con" id="tabCon">
<p>展開之后可見這里的內(nèi)容</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();
}
相關(guān)文章
javascript常見數(shù)字進制轉(zhuǎn)換實例分析
這篇文章主要介紹了javascript常見數(shù)字進制轉(zhuǎn)換,結(jié)合實例形式分析了JavaScript十進制,十六進制及二進制的相互轉(zhuǎn)換原理與技巧,需要的朋友可以參考下2016-04-04用js來刷新當前頁面保留參數(shù)的具體實現(xiàn)
本文為大家詳細介紹下如何使用js來刷新當前頁面保留參數(shù),下面有個不錯的實現(xiàn)大家可以看看2013-12-12JS數(shù)字千分位格式化實現(xiàn)方法總結(jié)
這篇文章主要介紹了JS數(shù)字千分位格式化實現(xiàn)方法,結(jié)合實例形式總結(jié)分析了JS實現(xiàn)數(shù)字千分位格式化的常用技巧,包括字符串的分割、拼接、遍歷及正則操作等相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-12-12每天一篇javascript學習小結(jié)(Function對象)
這篇文章主要介紹了javascript中的Function對象知識點,對Function對象的基本使用方法,以及各種方法進行整理,感興趣的小伙伴們可以參考一下2015-11-11layui 數(shù)據(jù)表格復(fù)選框?qū)崿F(xiàn)單選功能的例子
今天小編就為大家分享一篇layui 數(shù)據(jù)表格復(fù)選框?qū)崿F(xiàn)單選功能的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09