确定Intranet / IE上的Cookie

时间:2014-01-23 14:21:13

标签: javascript internet-explorer cookies

我得到了一些代码来检查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;
};          

1 个答案:

答案 0 :(得分:0)

你可以尝试实现诸如存储虚拟cookie /读取cookie之类的内容,然后根据它确定是否启用了cookie(添加try / catch以防止异常)。