2012-02-16 133 views
0

當在Request.Cookies中讀取cookie時,我應該爲cookie名稱添加一個特殊字符,例如,如果我使用的是Firefox,例如cookie名稱爲seekpunk代碼應該是這樣的:Request.Cookies["~seekpunk"]爲什麼firefox需要特殊字符來確定我的cookie名稱,這是不同於不同的瀏覽器?Cookie和瀏覽器

+1

你使用的是什麼firefox版本?有嘗試更新您的版本?這是一個奇怪的行爲。 – AngeloBad 2012-02-16 11:12:03

+0

這確實是一個奇怪的行爲。您是否嘗試過使用其他機器的FireFox來測試您的網站? Firefox中可能有一些附加組件可能會弄亂cookie名稱。 – 2012-02-16 11:18:19

回答

0

我不認爲你需要在名稱前面有特殊字符,通常我只是在閱讀時使用(indexOf(seekpunk)!= - 1)來檢查cookie。 爲firefox安裝firecookie並檢查cookie名稱是否爲「〜seekpunk」,如果是,則您的代碼必須在某處生成該名稱。

https://developer.mozilla.org/en/DOM/document.cookie https://developer.mozilla.org/en/Code_snippets/Cookies

+0

謝謝你的回答我會再次檢查看看我在做錯什麼 – 2012-02-16 11:31:40

+0

是他們調用cookie的一般方式,而不考慮瀏覽器? – 2012-02-16 11:40:04

+0

我正在使用ac#應用程序我使用Request.Cookies [「示例」]創建cookie,但是當我嘗試2從firefox閱讀它重試空,但如果我把[「〜示例」]它返回一個值我不知道這裏有什麼問題 – 2012-02-16 13:10:27

0

的javascript

功能讀(){

  var Cookie_Name = "MyTestCookie"; 

      var sessionValue = null; 

      if (document.cookie) { 

       var currentDocumentCookie = document.cookie.split(';'); 
       alert(document.cookie); 
       var lengthCookie = currentDocumentCookie.length; 


       for (j = 0; j < lengthCookie; j++) { 

        var singleCookie = currentDocumentCookie[j]; 

        alert(singleCookie); 

        while (singleCookie.charAt(0) == ' ') { 
         singleCookie = singleCookie.substring(1, singleCookie.length); 
        } 

       } 

       return 1; 

      } 
      else { 
       return 0; 
      } 
     } 

讀();

C# HttpCookie myCookie = new HttpCookie(「MyTestCookie」); DateTime now = DateTime.Now;

 // Set the cookie value. 
     myCookie.Value = now.ToString(); 
     // Set the cookie expiration date. 
     myCookie.Expires = now.AddMinutes(1); 

     // Add the cookie. 
     Response.Cookies.Add(myCookie); 

     Response.Write("<p> The cookie has been written."); 

所以它必須是你的代碼,我太忙了遲到的答覆工作抱歉。小測試,測試你的自我。