我得到了一些代码来检查cookie是否已启用,它可以在IE和所有浏览器中运行,当我将其部署到网站时(我从http://sveinbjorn.org/cookiecheck获得了代码)。但是,当我将其部署到我们的Intranet /代理时,它不能在IE中工作(或在本地作为文件)。
我认为这是因为(我在某处读过)它认为它是一个内部网,因此总是启用cookie。
在这种情况下,有没有办法在IE中实际检测到Cookie,因为我需要知道,因为我会转到另一个面向外部的网站,该网站依赖于Cookie设置为on而不是阻止。
以下是代码:
function checkCookiesOLD() {
var cookieEnabled = (navigator.cookieEnabled) ? true : false;
if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
document.cookie="testcookie";
cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
}
return (cookieEnabled);
}
我甚至试过这个,但我认为底线是本地/内联网意味着上传和报道。
function checkCookies() {
var cookieEnabled = navigator.cookieEnabled;
if (cookieEnabled === false) return false;
if (!document.cookie && (cookieEnabled == null || /*@cc_on!@*/false))
{
document.cookie = "testBTCookie=1";
if (!document.cookie) return false;
document.cookie = "testBTCookie=; expires=" + new Date(0).toUTCString();
}
return true;
};
答案 0 :(得分:0)
你可以尝试实现诸如存储虚拟cookie /读取cookie之类的内容,然后根据它确定是否启用了cookie(添加try / catch以防止异常)。