セットクッキー
各クッキーは、下に文字列をdocument.cookieに割り当てることができます。
document.cookie = "userId = 828";
一度に複数の名前/値のペアを保存する場合は、Septum Plus Space(;)を使用して分離できます。たとえば
document.cookie = "userid = 828; username = hulk";
Cookieの名前または値のセグメント番号(;)、Comma(、)、等価(=)、およびスペースを使用することはできません。これをCookieの名前で簡単に行うことは簡単ですが、保持される値は不確かです。これらの値を保存する方法。値、そしてそれはCookie値に保存することができ、Cookie値に保存することもできます。また、Cookie値に保存することもできます。また、Cookie値に保存することもできます。 Cookie値では、Cookie値に保存することもでき、Cookie値に保存することもでき、Cookie値に保存でき、Cookie値に保存できます。 Cookie値に保存すると、Cookie値に保存できます。このスキームを使用すると、中国語の出現も避けることができます。例えば:
document.cookie = "str ="+escape( "i love ajax");
相当:
document.cookie = "str = i%20love%20ajax";
Escape()Codingを使用した後、以前に導入された元のCookie値を取得するために値を取得した後、Unescape()を使用してデコードする必要があります。
document.cookieは属性のように見えますが、異なる値を与えることができます。しかし、それは一般的な属性と同じではありません。たとえば、次の2つのステートメントが継続的に実行されます。
document.cookie = "userId = 828";
document.cookie = "username = hulk";
この時点で、ブラウザはユーザーIDとユーザー名である2つのCookieを維持するため、document.cookieに値を割り当てます。
document.addcookie( "userId = 828");
document.addcookie( "username = hulk");
実際、ブラウザはこの方法でCookieを設定します。
document.cookie = "userId = 929";
このようにして、userIdという名前のCookieを929に設定します。
Cookieの価値を取得します
クッキーの価値を取得する方法は次のとおりです。 Cookieの値は、document.cookieによって直接取得できます。
var strcookie = document.cookie;
これにより、セグメント番号で区切られた複数の名前/値が取得されます。例えば:
<スクリプト言語= "javascript" type = "text/javascript">
<! -
document.cookie = "userId = 828";
document.cookie = "username = hulk";
var strcookie = document.cookie;
アラート(strcookie);
//->
</script>
図7.1出力Cookie値を表示します。一度に1つのCookie値のみを取得できることがわかります。これは、これがCookie値の最も厄介な部分を取得するために指定できません。ユーザーは、この文字列を自分で分析して、たとえば、ユーザーIDの値を取得する場合は、次のように実装できます。
<スクリプト言語= "javascript" type = "text/javascript">
<! -
// 2つのCookieを設定します
document.cookie = "userId = 828";
document.cookie = "username = hulk";
// Cookie文字列を取得します
var strcookie = document.cookie;
//複数のCookieが複数の名前/値にカットされます
var arrcookie = strcookie.split( ";");
var userid;
//クッキーアレイを通過し、各クッキーペアを処理します
for(var i = 0; i <arrcookie.length; i ++){
var arr = arrcookie [i] .split( "=");
// useridという名前のCookieを見つけて、その値を返します
if( "userid" == arr [0]){
userid = arr [1];
壊す;
}
}
アラート(userid);
//->
</script>
これにより、単一のCookieの価値が得られます
同様の方法では、1つ以上のCookieの値を取得でき、その主な手法は依然として文字列と配列の関連操作です。
クッキーの終了日を設定します
これまで、すべてのCookieは単一のセッションクッキーです。つまり、これらのCookieは実際に閉じられた後に失われます。
実際の開発では、ユーザーログインステータスの保存など、Cookieを長時間保存する必要があります。これは、次のオプションで実装できます。
document.cookie = "userid = 828; expires = gmt_string";
その中で、GMT_StringはGMT形式で表される時間です。例:10日後にクッキーを期限切れに設定する場合は、次のように実装できます。
次のようにコードコードをコピーします。
<スクリプト言語= "javascript" type = "text/javascript">
<! -
//現在の時間を取得します
var date = new Date();
var expedays = 10;
// 10日後の10日後に日付を設定します
date.settime(date.gettime()+expedays*24*3600*1000);
// 10日後にユーザーIDとユーザー名の2つのCookieを有効に設定します
document.cookie = "userid = 828; username = hulk; expire ="+date.togmtring();
//->
</script>
Cookieを削除します
クッキーを削除するために、::などの過去の時間に有効期限を設定できます
次のようにコードコードをコピーします。
<スクリプト言語= "javascript" type = "text/javascript">
<! -
//現在の時間を取得します
var date = new Date();
//日付を過去の時間として設定します
date.settime(date.getTime()-10000);
//このCookieをユーザーIDを削除します
document.cookie = "userid = 828; expire ="+date.togmtring();
//->
</script>
Cookieにアクセスできるパスを指定します
デフォルトでは、Cookieがページに作成されている場合、ディレクトリ内の他のページがページにもCookieにアクセスできます。このディレクトリにサブディレクトリがある場合は、サブディレクトリにアクセスすることもできます。たとえば、www.xxxx.com/html/b.htmlまたはwww.xxx.com/ html/some/c.htmlで作成されたCookieは、www.xxxx.com/d.htmlでアクセスできません。
Cookieでアクセスできるカタログを制御するには、パスパラメーターを使用してCookieを設定する必要があります。
document.cookie = "name = value; path = cookiedir";
Cookiedirは、Cookieへのアクセスのカタログを表しています。例えば:
document.cookie = "userid = 320; path =/shop";
これは、現在のCookieが短いディレクトリでのみ使用できることを意味します。
Webサイト全体でCookieを使用したい場合は、次のようなルートディレクトリとしてCookie_Dirを指定できます。
document.cookie = "userid = 320; path =/";
クッキーにアクセスできるホスト名を指定します
パスと同様に、ホスト名は、www.google.comやgmail.google.comなど、同じドメインの異なるホストを指します。デフォルトでは、ホストで作成されたCookieは別のホストでアクセスできませんが、ドメインパラメーターによって制御することができます。
document.cookie = "name = value; domain = cookomain";
クロスホストアクセスを実現するために、次のように書くことができます。
document.cookie = "name = value; domain = .google.com";
このようにして、すべてのGoogle.comの下のホストはCookieにアクセスできます。
包括的な例:一般的なCookie処理機能の構築
Cookieの処理プロセスはより複雑で、特定の類似点があります。したがって、コードの再利用を達成するために、Cookieの一般的な操作を完了するために、いくつかの機能を定義できます。一般的に使用されるCookie操作と機能の実装は、以下にリストされています。
1。クッキーを追加:追加(名前、価値、期限切れ)
この関数は、Cookie名、Cookie値、およびそれが後でどのように期限切れになるかという3つのパラメーターを受け取ります。有効期限は0の場合は設定されません。つまり、ブラウザが閉じたときにCookieが自動的に消えます。この関数は次のように実装されています。
次のようにコードコードをコピーします。
<スクリプト言語= "javascript" type = "text/javascript">
<! -
関数addCookie(名前、値、期限切れ){
var cookring = name+"="+escase(value);
//有効期限が設定されているかどうかを判断します
if(expirehouse> 0){{
var date = new Date();
date.settime(date.gettime+expirehouse*3600*1000);
cookring = cookiestring+"; expire ="+date.togmtring();
}
document.cookie = cookiestring;
}
//->
</script>
2。指定された名前のCookie値を取得:GetCookie(名前)
この関数は、存在という名前のクッキー値を返します。
次のようにコードコードをコピーします。
<スクリプト言語= "javascript" type = "text/javascript">
<! -
function getCookie(name){
var strcookie = document.cookie;
var arrcookie = strcookie.split( ";");
for(var i = 0; i <arrcookie.length; i ++){
var arr = arrcookie [i] .split( "=");
if(arr [0] == name)return arr [1];
}
戻る "" ";
}
//->
</script>
3.指定された名前でクッキーを削除:deletecookie(name)
この関数は、指定された名前のCookieを削除でき、その実装は次のとおりです。
次のようにコードコードをコピーします。
<スクリプト言語= "javascript" type = "text/javascript">
<! -
function getCookie(name){
var strcookie = document.cookie;
var arrcookie = strcookie.split( ";");
for(var i = 0; i <arrcookie.length; i ++){
var arr = arrcookie [i] .split( "=");
if(arr [0] == name)return arr [1];
}
戻る "" ";
}
//->
</script>
別のオンラインを使用することもできます。
次のようにコードコードをコピーします。
<スクリプト言語= "javascript" type = "text/javascript">
関数setcookie(name、value)// 2つのパラメーター、1つはCookieの名前、もう1つは値です
{{
var Days = 30; //このCookieは30日間保存されます
var exp = new Date();
exp.settime(exp.gettime() + days*24*60*60*1000);
document.cookie = name + "=" + escase(value) + "; expires =" + exp.togmtring();
}
function getCookie(name)// Cookies関数を取得します
{{
var anrr = document.cookie.match(new regexp( "("(^|) "+name+" =([^;]*)(; | $) ")));
if(arr!= null)unescape(arr [2]);
}
function delcookie(name)//削除Cookie
{{
var exp = new date();
exp.settime(exp.gettime()-1);
var cval = getcookie(name);
if(cval!= null)document.cookie = name+"="+cval+"; expires ="+exp.togmtstring();
}
setcookie( "xiaoqi"、 "3")
アラート(getCookie( 'Xiaoqi');
</script>