written by clone
フィールド名=値;の形で記録する。
function setCookie(fieldId,value){ var expires = new Date() //このクッキーの賞味期限は1日です。 expires.setTime(expires.getTime() + (1*24*60*60*1000)) document.cookie=fieldId+"="+escape(value)+"; expires="+expires.toGMTString() }
仕様
フィールド名(文字列)を渡すとその値(文字列)を返す。
フィールドが存在しない場合 nullを返す。
function getCookie(fieldId){ var idStr=fieldId+"=" var startIndex=document.cookie.indexOf(idStr) if(startIndex>-1){ startIndex=startIndex+idStr.length var endIndex=document.cookie.indexOf(";",startIndex) if(endIndex<0) endIndex=document.cookie.length return unescape(document.cookie.substring(startIndex,endIndex)) }else{ return null } }
match(new RegExp(fieldId+"=([^;]*);"))と書いても同じ。この場合「new」がないとIE4でエラーが出ます(^^;
function getCookie(fieldId){ var tmp=(document.cookie+";").match(fieldId+"=([^;]*);") if(tmp!=null){ return unescape(tmp[1]) }else{ return null } }上のコードを縮めたもの。読みづらい。
function getCookie(fieldId){ return ((document.cookie+";").match(fieldId+"=([^;]*);")!=null)? unescape(RegExp.$1):null }ドキュメントオブジェクトにバインドするとこんな感じ
document.getCookie=function (fieldId){ var tmp=(this.cookie+";").match(fieldId+"=([^;]*);") if(tmp!=null){ return unescape(tmp[1]) }else{ return null } }ついでにsetCookieも
document.setCookie=function (fieldId,value){ var expires = new Date() //このクッキーの賞味期限は1日です。 expires.setTime(expires.getTime() + (1*24*60*60*1000)) this.cookie=fieldId+"="+escape(value)+"; expires="+expires.toGMTString() }
var tmp=(document.cookie+";").match(/フィールド名=([^;]);/) if(tmp!=null){ //フィールドが存在した場合の処理 var value=unescape(RegExp.$1) //value=unescape(tmp[1])でも同じ }else{ //フィールドが無い場合の処理 }
もどる |
∧∧ (◎←) ((( ▽ ))) - - |
This page hosted by
Get your own Free Home Page