2012-04-03 15 views
0

私はjavascriptのローカルホスト上にクッキーを作成/検出する方法を探しています。基本的に、セッションに指定された名前 "foo"を持つクッキーが存在する場合、何もしないでください。クッキーが存在しない場合は、fooという名前の新しいクッキーを作成し、guidでそれを設定します。どうすればjavascriptでこれを行うことができますか? JavaScriptからクッキーを読み取るローカルホストでクッキーを作成する

おかげ

答えて

0

は、文字列解析のビットを必要とします。そここのタスクを簡単にする良いライブラリの数がありますが、あなたはJavaScriptでGUIDを生成することは少し難しいですクッキーの値に

<script type="text/javascript"> 
    function GetCookieValue(key) { 
     var value = null; 
     var cookieArray = document.cookie.split(';'); 
     for (var i = 0; i < cookieArray.length; i++) { 
      var keyValuePair = cookieArray[i].split("="); 
      if (keyValuePair[0] == key) { 
       value = keyValuePair[1]; 
       break; 
      } 
     } 
     return value; 
    } 

    function SetCookieValue(key, value) { 
     document.cookie = key + "=" + value; 
    } 
</script> 

を取得および設定するには、以下のようなコードを使用することができます。 This guyには良いGUIDを生成できる素晴らしいライブラリが含まれています。同様の目的で作成されたjQueryプラグインもいくつかありますが、私はそれらを使用していません。

上記の関数とともに、次のスクリプトを含める場合は、必要な処理を行う必要があります。

<script type="text/javascript" src="http://www.broofa.com/Tools/Math.uuid.js"></script> 
<script type="text/javascript"> 
    var guid = GetCookieValue("myGuid"); 
    if (guid == null) 
     SetCookieValue("myGuid", Math.uuid()); 

    alert(GetCookieValue("myGuid")); 
</script> 
+0

document.cookieの問題は、ローカルホストページにCookieが設定されていないことです。代わりに、私は確認したいクッキーを設定する外部ドメインへの呼び出しを行っています。だから私は実際に自分のドメインの下にそのクッキーを設定するgoogle.comのようなドメインを呼び出しています。私はffのクッキーのリストを見るとこれを見ることができます。クッキーはgoogle.comの下に設定されています(例)。それが存在するかどうかを確認したい –

+1

Javascriptでは他のドメインのCookieにアクセスできません。これはセキュリティリスクです。 – dave

関連する問題