javascript作成と格納cookieの例

4490 ワード

クッキーとは?クッキーは訪問者のコンピュータに格納された変数です.同じコンピュータがブラウザを通してあるページを要求するたびに、このクッキーを送ります.JavaScriptを使ってクッキーの値を作成し、取り戻すことができます.
クッキーの使用シーン:名前クッキーは訪問者が初めてページを訪問する時、彼または彼女が彼/彼女の名前を記入するかもしれません.名前はクッキーに保存されます.訪問者が再度サイトを訪問すると、「Welcome John Dowe!」というような歓迎の言葉が届きます.名前はクッキーから取ってきた.
パスワードクッキーは訪問者が初めてページを訪問する時、彼か彼女が彼/彼女たちのパスワードを記入するかもしれません.パスワードはクッキーに記憶されてもよい.彼らが再びサイトにアクセスすると、パスワードはクッキーから取り出されます.
日付クッキーは、訪問者が初めてあなたのサイトにアクセスするとき、現在の日付をクッキーに保存することができます.彼らは再びウェブサイトを訪問すると、「Your last visit was on Tuesday August 11,2005!」というようなメッセージを受け取る.日付もクッキーから取ってきました.
クッキーを作成して保存します.この例では、来訪者の名前を記憶するクッキーを作成します.訪問者が初めてウェブサイトを訪問する時、名前を記入するように求められます.名前はクッキーに保存されます.訪問者が再度ウェブサイトを訪問すると、歓迎の言葉が届きます.
まず、クッキー変数に訪問者の名前を格納できる関数を作成します.
クッキーを作成するということは、つまりStringをつづり合わせています.
"username=amosli;expires=Mon、16 Dec 2013 16:20:04 GMT"その後document.co okie=上のStringで良いです.
 
  
function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
上のこの関数のパラメータにはクッキーの名前と値、賞味期限があります.
上記の関数では、まず日数を有効な日付に変換し、その後、クッキーの名前と値と期限切れの日付をドキュメンタ.co okieオブジェクトに保存します.
その後、もう一つの関数を作成して、クッキーが設定されているかどうかを確認します.
get Cookie()の核心は一言でdocument.co okieです.残りは文字列に対する処理です.
 
  
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
/*
cookie :"username=amosli; ASPSESSIONIDQAAADBDD=GGIJNHCDKGNFEGJIIFDNNION; __utma=119627022.986713705.1387205055.1387205055.1387208465.2; __utmb=119627022.3.10.1387208465; __utmc=119627022; __utmz=119627022.1387208465.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)"
*/
if (c_start!=-1){
    c_start=c_start + c_name.length+1
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    }
  }
return ""
}
 
上記の関数はまず、document.co okieオブジェクトにクッキーがあるかどうかを確認します.もし、document.co okieオブジェクトにいくつかのクッキーがあると、私たちが指定したクッキーが保存されているかどうかを引き続きチェックします.必要なクッキーが見つかったら、値を返します.でないと、空の文字列を返します.
最後に、私たちは関数を作成します.この関数の役割は、クッキーが設定されている場合は、歓迎語を表示します.そうでなければ、ユーザーに名前の入力を要求するためのプロンプトボックスを表示します.
 
  
function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
  {alert('Welcome again '+username+'!')}
else
  {
  username=prompt('Please enter your name:',"")
  if (username!=null && username!="")
    {
    setCookie('username',username,365)
    }
  }
}
これはすべてのコードです.
 
  


<br>function getCookie(c_name) <br>{ <br>if (document.cookie.length>0) <br>  { <br>  c_start=document.cookie.indexOf(c_name + "=") <br>  if (c_start!=-1) <br>    { <br>    c_start=c_start + c_name.length+1 <br>    c_end=document.cookie.indexOf(";",c_start) <br>    if (c_end==-1) c_end=document.cookie.length <br>    return unescape(document.cookie.substring(c_start,c_end)) <br>    } <br>  } <br>return "" <br>} <p></p> <p>function setCookie(c_name,value,expiredays)<br>{<br>var exdate=new Date()<br>exdate.setDate(exdate.getDate()+expiredays)<br>document.cookie=c_name+ "=" +escape(value)+<br>((expiredays==null) ? "" : ";expires="+exdate.toGMTString())<br>}</p> <p>function checkCookie()<br>{<br>username=getCookie('username')<br>if (username!=null && username!="")<br>  {alert('Welcome again '+username+'!')}<br>else <br>  {<br>  username=prompt('Please enter your name:',"")<br>  if (username!=null && username!="")<br>    {<br>    setCookie('username',username,365)<br>    }<br>  }<br>}<br>