js を使用して Cookie コードの読み取り、書き込み、削除を行うcontinuation_javascript スキル

WBOY
リリース: 2016-05-16 16:29:18
オリジナル
1384 人が閲覧しました

最後の記事: js を使用して Cookie コード共有と詳細コメントの読み取り、書き込み、削除を行う 、実際にはいくつかの問題が発見されました:

1. ローカル ファイルの Cookie は Firefox でのみデバッグでき、IE と chrome では無効です

2. Cookie は有効期限が切れないように設定されているわけではありません。有効期限が切れるまでの期間を設定するだけであると考えられますが、これは明らかに不合理です。

今回は、より合理的な Cookie オペレーション コードを指定します:

コードをコピーします コードは次のとおりです:

var Cookie = {
取得: function (k) {
return ((new RegExp(["(?:; )?", k, "=([^;]*);?"].join(""))).test(document.cookie) && RegExp[" $1"]) || "";
}、
set: function (k, v, e, d) {
var date=new Date(); varexpiresDays=e; date.setTime(date.getTime()expiresDays*24*3600*1000); // 時間が設定されている場合、Cookie は指定された時間内で使用され、それ以外の場合は有効期限が切れることはありません
document.cookie=k "=" v ";expires=" (e != '' ? date.toGMTString(): "GMT_String") ";path=/;domain=" (d||'');
}、
del: 関数 (k) {
var date=new Date(); //日付を過去の時刻に設定します
date.setTime(date.getTime()-10000); document.cookie=k "=; 期限切れ = date.toGMTString(); }
};



この例では、テキストをクリックしてコンテンツを展開し、再度クリックして非表示にします。コンテンツを非表示にすると、次回開いたときも非表示のままになります。コンテンツが表示された場合は、次回開いたときにも表示されます。


コードをコピーします

コードは次のとおりです:

縮小

展開後、ここでコンテンツを確認できます


var btn = document.getElementsByTagName('h3')[0];
btn.addEventListener('click',function(){
var isClose = this.getAttribute('data-isClose');
if(isClose == 'close'){
show();
Cookie.del('フラグ');
}その他{
隠す();
Cookie.set('フラグ','非表示');
}
});
var tabCon = document.getElementById('tabCon');
関数 show(){
tabCon.style.display = 'ブロック';
btn.setAttribute('data-isClose','open');
btn.innerHTML = '縮小';
}
関数 Hide(){
tabCon.style.display = 'none';
btn.setAttribute('data-isClose','close');
btn.innerHTML = '展開';
}
var flag = Cookie.get('flag');
if(フラグ == '非表示'){
隠す();
}


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート