2009-07-17 12 views
1

私はクエリ文字列から値を取得してクッキーに追加するページを持っています。この値は、ページ上のいくつかの異なる項目に対して使用されます。ユーザーがページに戻り、値がクエリ文字列にない場合、値はCookieから取り戻されます。JavaScript CookieはIE6でnull値を返します

jQuery Cookieプラグイン(http://plugins.jquery.com/project/Cookie)を使用しているだけでなく、JavaScriptで独自のCookie設定と取得を試みました。すべてが完璧に動作します... IE6でテストする場合を除きます。 IE7と8は問題ありませんが、IE6はクッキーからそれらを取得しようとすると常に項目のnull値を返します。

私はFirefoxのクッキー情報を見ましたが、私が設定した2つの整数値以上のものは見ていません。

IE6でこれを引き起こしている可能性のあるアイデアはありますか?

更新日: 私は基本的なhtmlに私のコードの外のテストを受けました。以下のマークアップ。 IE6(IETester)でnullを返すのと同じ結果です。

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>Untitled Page</title> 
    <script type="text/javascript" src="Scripts/jquery-1.3.2.js"></script> 
    <script type="text/javascript" src="Scripts/jquery.cookie.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() 
     { 
      var testId = GetQueryStringValue("test"); 

      if (testId == "") 
      { 
       testId = $.cookie("test"); 
       alert(testId); 
      } 
      else 
      { 
       $.cookie("test", testId); 
       alert("Test set"); 
      } 

      document.write(testId); 
     }); 

     function GetQueryStringValue(name) 
     {  
      var regex = new RegExp("[?&]" + name + "(?:=([^&]*))?","i"); 
      var tmpURL = window.location.href;  
      var results = regex.exec(tmpURL);  

      if (results == null) 
      { 
       return ""; 
      } 
      else 
      { 
       return results[1]; 
      } 
     } 
    </script> 
</head> 
<body> 

</body> 
</html> 
+0

同じlibを使用していますが、IE6ではこのような問題はありません。そのライブラリではなく、あなたの他のコードです。 firecookieを使ってみましたか? – mkoryak

+0

Firefoxでうまくいきました。Firefox用のWeb DeveloperアドオンでCookieを見ることができます。アラート(document.cookie)以外に、IE6のクッキーを見る方法はありますか?それはIE6ではnullとなっています。 – JamesEggers

+2

IETesterには、IE6でクッキーが動作しない既知のバグがあります。http://www.my-debugbar.com/forum/t109-Can't-access-cookes.html – NickFitz

答えて

5

IE 6を実行しているマシンのセキュリティ設定がCookieを拒否していますか?また、複数のバージョンのIEを同じマシン上で実行することを可能にするさまざまな手法の1つを使用している場合は、結果が完全ではないことに注意してください。また、ブラウザの微妙な側面がバージョン:たとえば、this comment on Tredosoft's Multiple IE pageで、IE 6でCookieが失敗することがあります。

+0

上記のCookieのIETestバグが原因だった。ありがとう! – JamesEggers

関連する問題