2011-12-14 38 views
6

Tôi đang chạy Android Honeycomb 3.2.1 và tôi gặp sự cố khi trình duyệt ngừng chấp nhận cookie. Tôi có đoạn mã sau:Tắt cookie trong trình duyệt Android không hoạt động

first.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="cookie.js"></script> 
     <script type="text/javascript"> 
      setCookie('testing','test cookie',365); 
      window.location.href = 'second.html'; 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

second.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="cookie.js"></script> 
     <script type="text/javascript"> 
      var temp = getCookie('testing'); 
      alert(temp); 
     </script> 

    </head> 
    <body> 
    </body> 
</html> 

cookie.js:

function setCookie(c_name,value,exdays) 
{ 
    var exdate=new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value=escape(value) + ((exdays==null) ? "" : ";  expires="+exdate.toUTCString()); 
    document.cookie=c_name + "=" + c_value; 
} 

function getCookie(c_name) 
{ 
    var i,x,y,ARRcookies=document.cookie.split(";"); 
    for (i=0;i<ARRcookies.length;i++) 
    { 
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
     x=x.replace(/^\s+|\s+$/g,""); 
     if (x==c_name) 
     { 
      return unescape(y); 
     } 
    } 
    return null; 
} 

Bây giờ nếu tôi tắt cookie và truy cập first.html trên bất kỳ trình duyệt dành cho máy tính để bàn nào của tôi, tôi được chuyển hướng và nhận được cảnh báo có giá trị như dự kiến.

Nếu tôi bật cookie và truy cập first.html trên bất kỳ trình duyệt trên máy tính để bàn nào, tôi sẽ được chuyển hướng và nhận thông báo cho biết "cookie thử nghiệm" như mong đợi.

Bây giờ, nếu tôi chạy ứng dụng này trên máy tính bảng Android của mình với cookie bị vô hiệu hóa, cookie luôn luôn trả về "cookie thử nghiệm" trong cảnh báo. Nó không quan trọng nếu tôi có cookie hoặc tắt. Tôi đã thử thay đổi cài đặt, xóa cookie và bộ nhớ cache, khởi động lại trình duyệt và thậm chí khởi động lại máy tính bảng và tất cả đều có cùng kết quả.

Mọi trợ giúp đều được đánh giá cao.

+1

Tôi cũng nhìn thấy cùng một vấn đề trong 4.0.3. –

Trả lời

0

Làm thế nào về việc kiểm tra nếu cookie được bật trước khi trở về cookie:

function getCookie(c_name) 
{ 
    if(navigator.cookieEnabled) { 
     var i,x,y,ARRcookies=document.cookie.split(";"); 
     for (i=0;i<ARRcookies.length;i++) 
     { 
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
      x=x.replace(/^\s+|\s+$/g,""); 
      if (x==c_name) 
      { 
       return unescape(y); 
      } 
     } 
    } 
    return null; 
} 
Các vấn đề liên quan