Checking for cookies being enabled in IE8 using Javascript
I am attempting to check whether cookies are enabled or not using Javascript, cross-browser.
I have got this working fine in Firefox 3 using the following code -
var cookieEnabled=(navigator.cookieEnabled)? true : false;
//if not IE4+ nor NS6+
if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){
document.cookie="testcookie";
cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false;
}
And from what I've seen this seems to be the reasonably established method of checking for cookie support being turned on? However, it refuses to work in IE8, when I turn off cookies in that and run this code cookiesEnabled always equals true开发者_运维知识库.
Any ideas?
Thanks.
Ah found the problem. I was testing my software by navigating to http://localhost...
Of course IE treats this as the Local Intranet Zone and doesn't apply my settings for cookies, so allowing them regardless!
If I navigate to my actual IP address via the local loopback it treated it as internet zone and worked fine :)
Doh!
精彩评论