最新のWeb開発のチュートリアル
×

JS チュートリアル

JS HOME JS 導入 JS どこへ JS 輸出 JS 構文 JS ステートメント JS 注釈 JS 変数 JS 演算子 JS 算術 JS 割り当て JS データの種類 JS 機能 JS オブジェクト JS 範囲 JS イベント JS ストリング JS 文字列メソッド JS 数字 JS 数のメソッド JS 数学 JS 日付 JS 日付形式 JS 日付の方法 JS 配列 JS アレイ方式 JS ブール値 JS 比較 JS 条件 JS スイッチ JS ループ For JS ループしながら JS ブレーク JS 型変換 JS 正規表現 JS エラー JS デバッギング JS 巻き上げ JS strictモード JS スタイルガイド JS ベストプラクティス JS 間違い JS パフォーマンス JS 予約語 JS JSON

JS フォーム

フォームバリデーション フォームAPI

JS オブジェクト

オブジェクト定義 オブジェクトのプロパティ オブジェクトメソッド オブジェクトプロトタイプ

JS 機能

関数定義 ファンクションのパラメータ 関数の呼び出し 関数クロージャ

JS HTML DOM

DOM イントロ DOM メソッド DOM 資料 DOM 要素 DOM HTML DOM CSS DOM アニメーション DOM イベント DOM EventListener DOM ナビゲーション DOM ノード DOM ノードリスト

JS ブラウザ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS

JS 例 JS HTML DOM JS HTML 入力 JS HTML オブジェクト JS HTML イベント JS ブラウザ JS クイズ JS 概要

JS リファレンスマニュアル

JavaScript オブジェクト HTML DOM オブジェクト


 

JavaScript Cookies


CookiesあなたがWebページでユーザー情報を保存しましょう。


どのようなものがありますCookies

Cookiesお使いのコンピュータ上で、小さなテキストファイルに格納されたデータです。

WebサーバがブラウザにWebページを送信した場合に、接続が遮断され、サーバはユーザについてのすべてを忘れています。

Cookies 「ユーザに関する情報を記憶する方法」の問題を解決するために考案されました:

  • ユーザーがWebページにアクセスすると、彼の名前はに保存することができcookie
  • ユーザーがページを訪問する次の時間は、 cookie彼の名前を「記憶」しています。

クッキーは、同様の名前と値のペアで保存されます。

username = John Doe

サーバからブラウザ要求Webページは、ときにcookiesページに属するが要求に追加されます。 この方法は、サーバーは、ユーザーに関する情報を「記憶」するために必要なデータを取得します。


作成a Cookie JavaScriptを使用し

JavaScriptは、作成、読み取り、および削除することができますcookiesしてdocument.cookieプロパティ。

JavaScriptで、 a cookie次のように作成することができます。

document.cookie = "username=John Doe";

また、(UTC時間で)有効期限を追加することができます。 デフォルトでは、 the cookieブラウザを閉じたときに削除されます。

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";

pathパラメータを使用すると、どのようなパスブラウザ伝えることができますthe cookie所属します。 デフォルトでは、 the cookie現在のページに属しています。

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

読むa Cookie JavaScriptを使用し

JavaScriptで、 cookiesこのように読むことができます:

var x = document.cookie;

document.cookieすべて返されますcookiesはるかのような1つの文字列に: cookie1=value; cookie2=value; cookie3=value; cookie1=value; cookie2=value; cookie3=value;


変更a Cookie JavaScriptを使用し

JavaScriptを使用すると、変更することができますa cookieあなたがそれを作ると同じように:

document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

古いcookie上書きされます。


削除a Cookie JavaScriptを使用し

削除a cookie非常に簡単です。 ただ、渡された日付にパラメータを期限切れに設定します。

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

あなたは指定する必要はありませんので注意してくださいa cookie削除時に値をa cookie


Cookie文字列

document.cookieプロパティは、通常のテキスト文字列のように見えます。 しかし、そうではありません。

あなたは全体書く場合でもcookie文字列をdocument.cookieあなたは再びそれを読んだとき、あなたはそれだけの名前と値のペアを見ることができます。

あなたは新しい設定した場合はcookie 、古いcookies上書きされません。 新しいcookieするために添加されるdocument.cookieあなたが読めばので、 document.cookie再びあなたのような何かを得るでしょう。

cookie1 = value; cookie2 = value;

あなたが指定した1つの値を検索したい場合はcookie 、あなたは検索JavaScript関数記述する必要がありますcookieの値cookie文字列を。


JavaScriptのCookie

フォローする例では、我々が作成されますa cookie訪問者の名前を格納します。

訪問者がWebページに到着した最初の時間は、彼が彼の名前を記入するように求められます。 名前は、その後に保存されa cookie

ビジターが同じページに到着する次回は、彼は歓迎メッセージが表示されます。

例えば、我々は3 JavaScript関数を作成します。

  1. 設定する機能cookie値を
  2. 取得するための関数cookie値を
  3. チェックする機能cookie値を

設定する機能a Cookie

まず、中に訪問者の名前を格納する機能作成しa cookie変数を:

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

例を説明しました:

関数のパラメータは、上記の名前であるcookie (cname)の値the cookie (cvalue)およびCookieが(exdays)を期限切れにする必要がありますまでの日数。

関数が設定しa cookie一緒に追加することでcookienamethe cookie値を、文字列を満了します。


取得する機能a Cookie

その後、我々は指定の値を返す関数を作成cookie

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length,c.length);
        }
    }
    return "";
}

この関数は説明しました:

テイクthe cookienameパラメータ(CNAME)などを。

(CNAME + "=")を検索するには、テキストと変数(名)を作成します。

スプリットdocument.cookieと呼ばれる配列にセミコロン上のca (ca = document.cookie.split(';'))

CAのループスルーarray (i=0;i<ca.length;i++)および各値の読み出しc=ca[i])

場合はthe cookie発見された(c.indexOf(name) == 0)の値を返すthe cookie (c.substring(name.length,c.length)

場合はthe cookie見つからない、 ""を返します。


チェックする機能a Cookie

最後に、我々は関数の作成checksている場合a cookie設定されているが。

場合はthe cookie設定されている、それは挨拶が表示されます。

場合はthe cookie設定されていない、それはユーザーの名前を尋ね、プロンプトボックスが表示され、ユーザー名の格納cookie呼び出すことにより、365日間setCookie機能を:

function checkCookie() {
    var username=getCookie("username");
    if (username!="") {
        alert("Welcome again " + username);
    } else {
        username = prompt("Please enter your name:", "");
        if (username != "" && username != null) {
            setCookie("username", username, 365);
        }
    }
}

すべて一緒に今

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
        alert("Welcome again " + user);
    } else {
        user = prompt("Please enter your name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 365);
        }
    }
}
»それを自分で試してみてください

上記の例では、実行されますcheckCookie()関数ページのロード時に。