[セットトップ]JavaScript操作Cookie——基礎編


引用する


最近プロジェクトではUVとPVの数を区別するためにクッキーを使う必要があり、これまではバックグラウンドメソッドでc#を利用してクッキーを操作していたが、今回は
需要はjsの中でcookieを操作する必要があって、その時この問題に出会った時比較的に簡単な感じがして、だから資料を調べて完成して、しかし
テスト環境に入るとクッキーの値はバックグラウンドメソッドでは手に入らず,httpリクエストのヘッダ情報にクッキーがないことが監視で分かった.
値ですが、ローカルでは問題なく、パスを比較してクッキーであるべきパスかドメイン間で問題が発生しているかを判断し、この問題についてちょうどまとめました
クッキーの基本的な知識を教えてください.

Cookieの概要


「クッキーは、訪問者のコンピュータに格納されている変数です.同じコンピュータがブラウザでページを要求するたびに送信されます.
cookie.JavaScriptを使用すると、クッキーの値を作成して取り戻すことができます.」クッキーはアクセスしたWebサイトで作成されたファイルで、保存に使用されます.
個人情報などの情報を参照します.JavaScriptの観点から見ると、クッキーは文字列情報です.これらの情報はクライアントコンピュータに格納され、クライアントコンピュータに使用される.
サーバとの間で情報を伝達します.JavaScriptではdocument.クッキーは、これらの情報を読み取りまたは設定します.クッキーはクライアントとサービス端末の間で多く使用されるため
通信を行うため、JavaScriptのほか、サービス側の言語(c#など)もクッキーにアクセスできます.

Cookieのよくある質問


•クッキーには2つのタイプがあります.
•あなたが閲覧している現在のサイト自体に設定されているクッキー
•Webページに広告や画像などの他のドメインソースを埋め込んだサードパーティ製クッキー(これらのクッキーを使用して使用情報を追跡できます)•さっきの基礎知識にはクッキーのライフサイクルの問題がありましたが、クッキーは大きく2つの状態に分けることができます.
•一時的なクッキー.現在使用中のWebサイトには個人情報が格納され、ブラウザが閉じるとコンピュータから
で削除
•失効時間のクッキーを設定します.ブラウザが閉じても、これらの情報業界はコンピュータにあります.ログイン名とパスワードは不要です
特定のサイトにアクセスするたびにログインします.このクッキーは、コンピュータに数日、数ヶ月、数年保存できます.クッキーには2つの消去方法があります.
•ブラウザツールによるクッキーのクリア(サードパーティ製のツールがあり、ブラウザ自体にもこの機能があります)
•クッキーの有効期間を設定することでクッキーをクリア
•注意:クッキーを削除すると、一部のWebページが正常に動作しない場合があります.•ブラウザは、設定によってクッキーへのアクセスを受け入れ、拒否できます.
•機能や性能を考慮して、クッキーの使用数を最小限に抑え、小さなクッキーを使用することをお勧めします.
•クッキーコードの詳細については、クッキープレミアム編で個別に説明します.
•ローカルディスクのページであれば、chromeのコンソールでJavaScriptでクッキーを読み書き操作できない、解決策...ブラウズを変更
ビューラー^^.

Cookieの基本的な使い方


一、簡単なアクセス操作
JavaScriptを使用してクッキーにアクセスする場合は、Documentオブジェクトのクッキー属性を使用する必要があります.行コードの作成と変更方法
クッキー:
   
<span style="font-family:SimSun;font-size:18px;">document.cookie  = 'username=zhenghao'</span>

以上のコードの「username」はクッキー名を表し、「zhenghao」はこの名前に対応する値を表す.クッキー名が存在しないと仮定すると、
新しいクッキーを作成します.存在する場合は、このクッキー名に対応する値を変更します.クッキーを複数回作成する場合は、これを繰り返します.
つの方法でいいです.

二クッキーの読み取り操作

<span style="font-family:SimSun;font-size:18px;">function getRandomNum() {
        var arr = document.cookie.match(new RegExp("(^| )" + "statisticssCookie=([^;]*)(;|$)"));
        if (arr != null) {
            return arr[2];
        } else {
            var tempRandomNum = guid();//    guid     
            document.cookie = "statisticssCookie = " + tempRandomNum;
            return tempRandomNum;
        }
    }
</span>

クッキーを読む方法はまだたくさんありますが、多くの読者は自分で資料を調べることができます.ここでは一つ一つ説明しません.

三、クッキーの有効期間の設定


文章によく登場するクッキーのライフサイクル、すなわち有効期間と失効期間、すなわちクッキーの存在時間.デフォルトでは、
クッキーはブラウザが閉じたときに自動的に消去されますが、expiresでクッキーの有効期間を設定できます.構文は次のとおりです.
<span style="font-family:SimSun;font-size:18px;">document.cookie = "name=value;expires=date"</span>

上のコードのdate値はGMT(グリニッジ時間)形式の日付型文字列で、次のように生成されます.
<span style="font-family:SimSun;font-size:18px;">var _date = new Date();
  _date.setDate(_date.getDate()+30);
  _date.toGMTString();</span>

上の3行のコードをいくつかのステップに分解してみましょう.
•newによってDateのインスタンスを生成し、現在の時間を得る.
•getDate()メソッドは、現在のローカル月のある日を取得し、30を加えると、このクッキーがローカルで30日間保存されることを望んでいます.
•次にsetDate()メソッドで時間を設定します.
•最後にtoGMTString()メソッドでDateオブジェクトを文字列に変換し、結果を返す
次の完全な関数を使用して、クッキーを作成する過程で注意しなければならない点を説明します.w 3 schoolからコピーされました.作成
クッキーに情報を格納する関数:
<span style="font-family:SimSun;font-size:18px;">function setCookie(c_name, value, expiredays){
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
  }
      :setCookie('username','Darren',30)</span>

  
ここで、この関数は日数でクッキーの有効時間を設定し、他の単位(例えば:時間)で設定したい場合は、
3行のコード:
<span style="font-family:SimSun;font-size:18px;">exdate.setHours(exdate.getHours() + expiredays);</span>

小結


以前はクッキーというものがブラウザキャッシュとして使われていることを知っていただけでしたが、この知識点についてはもっと細かく理解していなかったので、プロジェクトで使いました
の時には活用できなくて、これに対してとても熟していないため使用の過程の中でどんな問題が存在することを知らないで、更にどのように来るべきなことを知りません
避けるために、私たちは知識を学ぶときにもっと理解する必要があります.次のブログでは、クッキーパス、ドメイン間
問題など.