JavaScriptのクッキー
ユーザ情報のクッキーは、ウェブページが格納されています。
クッキーとは何ですか?
クッキーは、お使いのコンピュータ上のテキストファイルに格納されたデータです。
接続が閉じられた後にWebサーバがブラウザにWebページを送信すると、サーバはユーザ情報を記録しません。
クッキーの役割は、「クライアントのユーザー情報を記録するためにどのように "解決することです。
- ユーザがウェブページにアクセスすると、彼の名前は、クッキー内に記録することができます。
- 次回ユーザーがページにアクセスすると、クッキーにユーザのアクセス・レコードを読み取ることができます。
次のように名前/値のペアを持つクッキーが保存されています。
ブラウザがサーバーからWebページを要求すると、ページに属するクッキーは要求に追加されます。 このように、ユーザー情報を取得するためのサーバ。
クッキーを作成するにはJavaScriptを使用します
JavaScriptのdocument.cookieプロパティは、作成、読み取り、およびクッキーを削除するために使用することができます。
次のようにJavaScriptは、クッキーを作成します。
また、(UTCまたはGMT時間の)クッキーの有効期限を追加することができます。 ブラウザが閉じられたときにデフォルトでは、クッキーが削除されました:
あなたは、パラメータは、ブラウザのクッキーのパスを伝えるパスを使用することができます。 デフォルトでは、クッキーは、現在のページに属しています。
クッキーを読むためにはJavaScriptを使用して、
JavaScriptでは、あなたは、Cookieを読み取るには、次のコードを使用することができます。
document.cookie文字列は、型のフォーマットをクッキーのすべての方法を返します。cookie1 =値; cookie2 =値; cookie3 =値; |
JavaScriptを使用してクッキーを変更します。
次のようにJavaScriptでは、クッキーの作成と同様、クッキーを変更します。
古いクッキーが上書きされます。
JavaScriptを使用してクッキーを削除します
削除クッキーは非常に簡単です。 あなただけの木に設定され、以下に示すように、前の時間は、期限が切れるためのパラメータを設定する必要があり、1970年1月1日00:00:00 GMT:
あなたはクッキーの値を指定せずに削除することに注意してください。
クッキー文字列
document.cookieプロパティは、実際にはない、普通のテキスト文字列のように見えます。
あなたはときにCookie情報を再読み込み、完全なクッキー文字列のdocument.cookieを書く場合でも、Cookie情報は、印象の形式の名前/値のペアです。
あなたが新しいクッキーを設定した場合、古いクッキーが上書きされません。 次のように再読み込みので、もし新しいクッキーがdocument.cookie、document.cookieに追加され、あなたがデータを受信します。
cookie1 =値; cookie2 =値;
あなたが特定のCookieの値を見つける必要がある場合は、クッキー文字列でCookieの値を見つけるために、JavaScript関数を作成する必要があります。
JavaScriptのクッキーインスタンス
次の例では、訪問者の名前を格納するためにクッキーを作成します。
まず、Webページへの訪問者、彼は自分の名前を記入するように求められます。 名前はクッキーに保存されます。
あなたがページを訪問者にアクセスする次回は、彼はウェルカムメッセージが表示されます。
この例では、3 JavaScript関数を作成します:
- セッターCookieの値
- クッキー機能の値を取得します。
- 関数は、クッキーの値を検出し、
セッターCookieの値
まず、我々は、訪問者の名前を格納するための関数を作成します。
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
関数解決:
複数の関数のパラメータ、CNAMEのCookie名、Cookieの値cvalue、およびクッキーの有効期限が満了する設定。
この関数は、クッキー名、クッキー値、クッキーの有効期限を設定します。
クッキー機能の値を取得します。
その後、我々はCookieの値を指定するには、ユーザーを返す関数を作成します。
{
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++)
{
var c = ca[i].trim();
if (c.indexOf(name)==0) return c.substring(name.length,c.length);
}
return "";
}
関数解決:
パラメータクッキー名はCNAMEです。
CNAME + "=":変数は指定されたCookieを取得するために使用されるテキストを作成します。
個別のdocument.cookie文字列にセミコロンを使用して、文字列配列分割CAに割り当てられた(CA = document.cookie.split( ';'))。
サイクルCA配列(I = 0; iはca.lengthを<;私は++)、その後、配列の各値を読み取り、およびスペースを(C = CA [i]の.trim())末尾の除去。
クッキー(c.indexOf(名)== 0)を見つけた場合は、クッキー値(c.substring(name.length、c.length)を返します。
クッキーが見つからない場合は、返されます "。"
関数は、クッキーの値を検出し、
最後に、我々はクッキーが作成されたかどうかを検出する機能を作成することができます。
あなたはクッキーを設定した場合、それはグリーティングメッセージが表示されます。
あなたはクッキーを設定しない場合、それは訪問者の名前を問い合わせるためのポップが表示され、365日訪問者の名前は、setcookie関数記憶を呼び出します:
{
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);
}
}
}
完全な例
例
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
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].trim();
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()関数を実行します。