2009-04-01 12 views

risposta

2

Certo, prova a impostarne uno e leggerlo.

19

Questo dovrebbe fare il trucco:

function areCookiesEnabled() { 
    document.cookie = "__verify=1"; 
    var supportsCookies = document.cookie.length >= 1 && 
         document.cookie.indexOf("__verify=1") !== -1; 
    var thePast = new Date(1976, 8, 16); 
    document.cookie = "__verify=1;expires=" + thePast.toUTCString(); 
    return supportsCookies; 
} 

Questo imposta un cookie con scadenza session-based, i controlli per la sua esistenza, e quindi imposta nuovamente nel passato, rimuoverlo.

+4

Perché 'document.cookie.length> 1' e non' documento .cookie.length> = 1'? – deamon

+0

hah, buona cattura! –

+0

non funziona per ie. Per chrome e firefox restituisce false quando i cookie sono disabilitati, ma nel caso di ie ritorna true anche se i cookie sono disabilitati, Si noti che sto usando l'IE11. Per favore aiuto !!!! – Developer

1

Per coloro che utilizzano jQuery Cookie per gestire e creare i cookie qui è un modo semplice per controllare i cookie e, dopo aver verificato il cookie, eseguire una funzione basata sui cookie abilitati o disabilitati.

//Create Session Cookie 
$.cookie('test-for-cookie', '1'); 

//Test for Session Cookie 
var yesCookie = $.cookie('test-for-cookie'); 
if (yesCookie == 1) { 
    //Run function if cookies are enabled. 
} else{ 
    //If cookies are not enabled run this function. 
} 

jsFiddle of working example.

3

La proprietà cookieEnabled restituisce un valore booleano che specifica se i cookie sono abilitati nel browser

<script> 
if (navigator.cookieEnabled) { 
    // Cookies are enabled 
} 
else { 
    // Cookies are disabled 
} 
</script> 
+0

Questo non sembra funzionare su IE. –

+0

@Stephen Sembra funzionare almeno da IE7 durante l'emulazione in IE10. Hai qualche fonte? –

+1

Emulare una versione di IE più vecchia da una più recente, non è molto affidabile per la mia esperienza. E questo è un po 'mite. Inoltre, i browser hanno una storia di mentire sulle loro capacità quando "chiesto". In realtà il test di una funzionalità è solitamente una buona idea. –

Problemi correlati