登録するためのJavaScriptの説明 (2)
Modified: 1 May 1998
実用的なJavaScript
登録する手続きは以下のfunctionを使うのが実用的です。
(関数はNetscapeのサイトからダウンロードしたドキュメントを引用しています。)<script language="javascript">
function setCookie(name, value, expire) {document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : (";expires =" + expire.toGMTString()))
}
var expdate = new Date ();
expdate.setTime ( expdate.getTime() + (365*24*60*60*1000));
setCookie( "tomo", "http://www.lint.or.jp/~tomo", expdate );
</script>このページでは、document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : (";expires =" + expire.toGMTString())) の説明をします。
"+"
"+"は、文字列をくっつけるという意味です。
"escape(value)"
"escape(value)"は、valueに含まれる特殊文字を変換しています。
変換されないのは、英大文字、英小文字、数字、7つの特殊文字("*"、"@"、"-"(minus)、"_"(underscore)、"+"、"."(comma)、"/")です。したがって、
http://www.lint.ne.jp/~tomo は、http%3A//www.lint.or.jp/%7Etomoのように変換され、登録されます。
"?"や":"は、C言語でも使える表現で、3項演算子です。
a ? b : c
は、aが、0か、0でないか、を調べます。0なら、bを採用します。0でないなら、cを採用します。つまり、以下と同じ意味です。
if (a==0)
b
else
cつまり、
(expire == null) ? "" : (";expires =" + expire.toGMTString()))
は、expiresが省略されたら、ブラウザが閉じられるときに削除されます。
expiresを世界標準時間(GMT)に変換して、;expires=wednesday,....... の文字列になります。