【问题标题】:navigator.cookieEnabled not working in IE9 in localhostnavigator.cookieEnabled 在本地主机的 IE9 中不起作用
【发布时间】:2012-03-10 23:30:31
【问题描述】:

我正在使用 asp.net,并且在我的 logon.aspx 页面中,我从以前的问题/答案中复制了以下代码: is it possible to check if cookies are enabled with modernizr ?

function are_cookies_enabled() {
        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);
    }

但是当我运行我的本地服务器(集成了 Visual Studio 2010 的服务器)时,变量 cookieEnabled 始终为 false,但它只发生在我的本地主机中,当我在 jsfiddle 中尝试相同的代码时,它运行良好。 (上面的代码适用于除 IE9 之外的所有浏览器,在 localhost 中) 有什么想法吗??

【问题讨论】:

  • 可能localhost 位于错误的浏览器安全区域?
  • 我用相同的浏览器测试了相同的代码,但没有在 localhost 中测试,而是在开发服务器中测试它并且它可以工作,对此有何解释??? (现在我正在测试将 localhost 设置在受信任的区域中)
  • 我最近检查过,我在托管网站中有 localhost(127.0.0.1),始终允许在 IE9 的隐私设置中进行设置

标签: javascript internet-explorer cookies localhost


【解决方案1】:

试试

选项 1:http://127.0.0.1 / 而不是 http://localhost:5130/ 即;仅在浏览器上禁用 cookie 只会设置 Internet 设置

所以给IP地址->开始->运行->Cmd->输入ipconfig然后你会看到你的IP地址如下所示

选项 2

http://IPADRESS/app/urpag.aspx

然后检查下面的javascript

<script type="text/javascript">
    document.write("Cookies enabled: " + navigator.cookieEnabled);
</script>

【讨论】:

    【解决方案2】:

    我设法锁定了我以前工作的 IE9,因此如果安全区域是本地 Intranet,它会报告:

    navigator.cookieEnabled == false

    如果我将区域更改为 Internet 并打开 保护模式,则启用 cookie。在这发生之前,我确实更改了隐私设置。我不知道如何找回它。也许重新安装会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-06-01
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多