ホームページ  >  記事  >  ウェブフロントエンド  >  js_javascript スキルでの Cookie の読み取りと書き込みの詳細な例

js_javascript スキルでの Cookie の読み取りと書き込みの詳細な例

WBOY
WBOYオリジナル
2016-05-16 16:52:061019ブラウズ

Cookie は、コンピュータのハードドライブに保存されるキーと値のペアの文字列であり、ブラウザの製造元によって主な機能の制限が若干異なります。 Cookie の本質は「識別」であり、識別を通じて何かを行うことはできません。Cookie はハード ドライブから他のデータを取得したり、コンピュータ ウイルスを送信したり、電子メール アドレスを取得したりすることはありません。 Cookie には有効期間があります。Cookie のデフォルトの有効期間は、Cookie の有効期間を設定するか、手動で無効にすることによって有効期限を指定することもできます。クッキーを削除します。

Cookie は特定の形式の文字列およびテキスト文字列です

形式: cookieName=cookieValue;expires=expiresDate;path=URLpath;domain=siteDomain//Cookie 名、有効期限、ストアURL とドメイン値を保存します。

Cookie の作成方法

通常、Cookie 設定は関数にカプセル化されます:

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

function addCookie(sName,sValue,day) {
varexpiredDate = new Date() ;
expireDate.setDate(expireDate.getDate() day);;
//有効期限を設定します
document.cookie =エスケープ(sName) '='エスケープ(sValue) ';expires='expireDate。 toGMTString() ;6 //escape() 漢字を Unicode エンコーディングに変換し、toGMTString() 日付オブジェクトを文字列に変換します
}

Cookie を読み取ります

Cookie を追加した後、どのように取得すればよいでしょうか? それは非常に簡単です:
コードをコピーします コードは次のとおりです:

function getCookies() {
var showAllCookie = '';
if(!document.cookie == ''){
var arrCookie = document.cookie.split(' ; ');
//split('; ') を使用して、すべての Cookie を切り取って配列に保存します。 ; i ) {
showAllCookie = 'c_name:' unescape(arrCookie[i].split('=')[0]) 'c_value:' unescape(arrCookie[i].split('=')[1] ) '
' 9 }
return showAllCookie;
}
}


Cookie には有効期限があり、自動的に削除することも、次の方法ですぐに削除することもできます。

シンプルと同じで続行します:


コードをコピーします コードは次のとおりです:
function RemoveCookie() {
if(document.cookie != '' &&confirm('すべての Cookie をクリアしますか? ')) {
var arrCookie = document.cookie.split('; ');
var arrLength = arrCookie.length;
expireDate.setDate(expireDate); .getDate()-1);
for(var i=0; ivar str = arrCookie[i].split('=')[0]; .cookie = str '=' ';expires='expiredDate.toGMTString();
}
}
}


作成、取得、削除の方法はすでにわかっています。 Cookie 、今度は Cookie を使用します

Cookie を使用して簡単なタイマーを作成しましょう:




コードをコピー
コードは次のとおりです: var cookieCount = {}; cookieCount.count = function () {
var count = parseInt(this.getCount('myCount')); 🎜> カウント ;
document.cookie = 'myCount=' count '';
alert('count 'visits');
cookieCount.setCount= function () {
/ /最初に myCount という名前の Cookie を作成します
varexpiredDate = new Date();
expireDate.setDate(expireDate.getDate() 1);
document.cookie = 'myCount=' '0' '; ='expireDate.toGMTString();
}
cookieCount.getCount = function (countName) {
//count という名前の Cookie を取得し、それに 1 を加算します。
var arrCookie = document. ('; ');
var arrLength = arrCookie.length;
var i=0; iif(countName == arrCookie) [i].split('=')[0]){
return parseInt(arrCookie[i].split('=')[1]);
break;
ini = false;
}
}
if(ini == false)this.setCount();
return 0;
cookieCount.count() ; >

Cookie パス

Cookie パスは、この記事の冒頭で説明しました: path=URL;

で作成された場合。ドメイン名のサブディレクトリ Cookie、ドメイン名、および他の兄弟ディレクトリまたは上位ディレクトリは、この Cookie にアクセスできません。パスを設定する利点は、次のように、ドメイン名およびドメイン名のサブカテゴリ ディレクトリにアクセスできることです。 >ドキュメント。cookie='cookieName=cookieValue;expires=expireDate;path=/'。


Cookie ドメイン
ドメインの設定:domain=siteDomain

これは主に、「www. taobao.com」と「ued.taabao.com」は、同じドメイン名「taabao.com」を共有しています。「www.taabao.com」の Cookie に「ued.taabao.com」がアクセスできるようにしたい場合は、次のようにします。 path 属性を「/」に設定し、Cookie のドメインを設定する必要があります -->document.cookie='cookieName=cookieValue;expires=expireDate;path=/;domain=taabao.com'。

Web プロジェクトの継続的な開発により、HTML5 では window.sessionStorage と window.localStorage という 2 つのプロパティが提供され、setItem、getItem、removeItem、clear などのメソッドが実装され、データをローカルに保存できるようになりました。操作がより簡単で便利になりました
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。