I want to test with JavaScript whether the browser supports cookies or not. The following code works with Internet Explorer 8 and Firefox 3.6 but not with Google Chrome 5.
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;
}
if(!areCookiesEnabled())
document.write("<p>Activate cookies!</p>");
else
document.write("<p>cookies ok</p>");
Chrome displays the message “Activate cookies!” regardless of my cookie settings. But if I disallow cookies, Chrome tells me that a cookie could not be set.
Any idea how to test cookie availability with JavaScript in Chrome?
The only reliable way to tell if cookies are enabled is to set one, and check for its existence on the next request. Server-side code required.