【问题标题】:Checking for cookies being enabled in IE8 using Javascript使用 Javascript 检查在 IE8 中启用的 cookie
【发布时间】:2010-03-11 19:58:14
【问题描述】:

我正在尝试使用 Javascript、跨浏览器检查是否启用了 cookie。

我使用以下代码在 Firefox 3 中正常工作 -

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;
}

据我所见,这似乎是一种合理确定的方法来检查是否启用了 cookie 支持?但是,当我在 IE8 中关闭 cookie 并运行此代码时,它拒绝在 IE8 中工作,cookieEnabled 始终等于 true。

有什么想法吗?

谢谢。

【问题讨论】:

  • 我在 IE8 上看到 - 即使我阻止所有 cookie,并尝试通过我的 javascript 代码设置一个,它被设置,我可以在文件系统上看到实际的 cookie。此规则的一个例外是当我为 cookie 设置域时,它没有被设置。所以我想知道当通过本地 HTML 文件运行时 javascript 和 navigator.cookieEnabled 是否返回 true - 但是如果你要在远程 Web 服务器上运行它(从域提供服务) - 它的行为会有所不同吗?

标签: javascript cookies internet-explorer-8


【解决方案1】:

啊发现问题了。我正在通过导航到http://localhost...来测试我的软件...

当然 IE 将此视为本地 Intranet 区域,并且不会将我的设置应用于 cookie,因此无论如何都允许它们!

如果我通过本地环回导航到我的实际 IP 地址,它会将其视为 Internet 区域并且工作正常 :)

哇!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多