【问题标题】:Can I detect certain browser (IE) setting (not change, detect)?我可以检测某些浏览器 (IE) 设置(不更改,检测)吗?
【发布时间】:2012-03-01 22:49:06
【问题描述】:

我只是在看这个 stackoverflow 问题:Display web browser settings

这很有帮助。

但是,我很好奇是否可以检测到某些 IE 特定设置。我正在考虑高级选项卡中的一些内容(例如“启用集成 Windows 身份验证”是否打开)?

或者我们的网站被添加为受信任的网站?并且在受信任的站点设置中,设置了“使用当前用户名和密码自动登录”?

我不想更改它们(我知道这将是一个可以被利用的大问题)。我只想能够向用户展示:

“嘿,您需要选中或取消选中这两个设置才能使站点正常运行。执行以下操作:a、b、c ... 或联系您的管理员”。

这可能吗?

【问题讨论】:

  • 我很确定您不能在网站内执行此操作。
  • 在 5 天内查看了 14 次。一半可能是我。我想我使用了一个糟糕的标题和/或标签——或者人们根本不在乎?无论如何,@Pekka - 如果你回答(而不是添加评论),我会给你绿色的复选标记。
  • 嘿。我想这确实是因为标签。将html 添加到组合中可能会有所帮助,但它真的 不适合......不过,我可以看到javascript 在某种程度上是合法的。我将添加我的评论作为答案。不用马上接受,可以找一些比较流行的标签。并不是说我认为会有不同的答案。
  • 我将标签更改为您的建议。我不确定现在是 6 天后它是否会有所帮助......但除非我听到其他消息,否则无论如何你都会得到绿色复选标记!

标签: javascript html internet-explorer trusted-sites internet-options


【解决方案1】:

我认为您无法从网站内查询这些设置。这样做可能会带来安全漏洞。

我确信某些设置可以通过使用间接证据来确定(例如,如果 JavaScript 不执行,则脚本可能被禁用)。但我认为没有合适的 API 来轮询每个设置。我想你能做的最好的就是为用户提供一些关于寻找什么的建议。 (比如,“右下角的 xyz 符号应该显示一个绿色的复选标记,像这样......选项对话框中的 abc 复选框应该被取消选中......等等”)

【讨论】:

    【解决方案2】:

    您无法直接检查设置,但可以改为测试功能。如果您尝试向服务器进行身份验证并发现您没有正确传递他们的凭据,那么您就知道它的配置不正确。此时,您可以向他们展示有关如何连接到该站点的信息。无论如何,这将是一个更好的解决方案,因为您最好测试功能而不是特定设置。

    【讨论】:

    • 感谢您的回复 - 非常感谢。你给了一些很好的建议。
    【解决方案3】:

    为了提炼您的问题,您似乎正在尝试确定 IE 是否配置为自动将 NTLM 凭据发送到您的服务器。

    不幸的是,没有办法完全检测到这一点。我最初的想法是将一个 JavaScript 文件放在一个受保护的目录中,该目录只需设置一个全局变量,并在 <head> 中链接到该脚本。 (<script src="protected-dir/test.js"></script> - protected-dir 将仅配置为集成身份验证,并关闭匿名身份验证。)如果脚本加载,则设置变量;如果它失败了,变量显然不是。页面上的另一个脚本可以检查变量并在未设置时显示消息。

    当客户端上的所有配置都正确时,这可以完美地工作,但是当自动登录关闭时,这会导致ugly 401 dialog 弹出,这显然是不好的。此外,XHR 请求不是答案,因为规范 specifically says the browser should ask for credentials 如果它得到 401。

    遗憾的是,我认为没有办法在不弹出 401 对话框的情况下自动确定是否启用了自动登录。

    【讨论】:

    • 感谢您的回复 - 您确实为这次讨论添加了很多内容。再次感谢。
    猜你喜欢
    • 2012-08-24
    • 2012-02-14
    • 2012-03-18
    • 1970-01-01
    • 2011-05-04
    • 2012-03-05
    • 2016-01-14
    • 2010-11-09
    • 1970-01-01
    相关资源
    最近更新 更多