2011-01-05 32 views

Trả lời

43

Đối với việc kiểm tra các tập tin cookie bạn có thể sử dụng:

function checkCookie(){ 
    var cookieEnabled = navigator.cookieEnabled; 
    if (!cookieEnabled){ 
     document.cookie = "testcookie"; 
     cookieEnabled = document.cookie.indexOf("testcookie")!=-1; 
    } 
    return cookieEnabled || showCookieFail(); 
} 

function showCookieFail(){ 
    // do something here 
} 


// within a window load,dom ready or something like that place your: 
checkCookie(); 

Và để kiểm tra sử dụng JavaScript thẻ <noscript> với một số loại thông điệp bên trong

+3

Lưu ý rằng điều này sẽ không chạy khi JS bị vô hiệu hóa :) – BalusC

+1

@BalusC - yep, hy vọng điều đó rõ ràng đối với OP – robjmills

+5

nếu testcookie được viết, bạn nên xóa nó sau. –

-3

Hãy thử <noscript>...</noscript> thẻ nó hoạt động một phần để kiểm tra nếu JavaScript được kích hoạt hay không .

<script type="application/javascript"> 
    document.write("This text would be displayed if JavaScript is enabled"); 
</script> 
<noscript> 
    This text would be displayed if JavaScript is not enabled 
</noscript> 
+5

'

8

này được lấy trực tiếp từ Modernizr và làm việc trong các trình duyệt hơn các giải pháp khác trong bài viết này.

https://github.com/Modernizr/Modernizr/commit/33f00fbbeb12e92bf24711ea386e722cce6f60cc

function checkCookie(){ 
    // Quick test if browser has cookieEnabled host property 
    if (navigator.cookieEnabled) return true; 
    // Create cookie 
    document.cookie = "cookietest=1"; 
    var ret = document.cookie.indexOf("cookietest=") != -1; 
    // Delete cookie 
    document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"; 
    return ret; 
} 
2

Khi phát hiện cookie sẽ không làm việc trong IE 11, tôi đề nghị phương pháp Modernizr:

function areCookiesEnabled() { 
    try { 
     document.cookie = 'cookietest=1'; 
     var cookiesEnabled = document.cookie.indexOf('cookietest=') !== -1; 
     document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; 
     return cookiesEnabled; 
    } catch (e) { 
     return false; 
    } 
} 

https://github.com/Modernizr/Modernizr/blob/5eea7e2a213edc9e83a47b6414d0250468d83471/feature-detects/cookies.js

Các vấn đề liên quan