【问题标题】:Detecting Vista IE7 Protected Mode with Javascript使用 Javascript 检测 Vista IE7 保护模式
【发布时间】:2008-12-02 18:48:44
【问题描述】:

我希望能够在使用 javascript 的页面中检测 Vista IE7 保护模式,最好是。我的想法是执行一个违反保护模式的操作,从而暴露它。目标是向 IE7 Vista 用户提供适当的站点帮助消息。

【问题讨论】:

    标签: javascript windows-vista internet-explorer-7 protected mode


    【解决方案1】:

    对于受保护的用户而言,您要实现哪些显着不同的目标?我已经看到了一些窗口弹出问题,但除此之外,干净的 JavaScript 往往受到的影响较小。如果您发现一段代码不会执行,为什么不在尝试执行后检查文档是否是您期望的状态,如果不是,则发出警报。

    如果是使用 ActiveX,MS 有一个保护模式 API:http://msdn.microsoft.com/en-us/library/ms537316.aspx

    保护模式是可自定义的,因此您实际上并没有可靠的方法来根据操作违规来检测它。而且许多用户禁用了 UAC,因此通过版本检测也不起作用(更不用说您可能对 IE 8 有同样的头疼。总是最好测试某些东西是否有效,而不是按版本假设。)

    【讨论】:

      【解决方案2】:

      Adobe Flash 在 Vista IE7 保护模式下的行为可能不同(或与预期不同)。目的是向用户提供此反馈。

      【讨论】:

      • 如果我的 Flash 不能在保护模式下工作,我会尝试修复我对 Flash 的使用来解决这个问题。如果你解释它,许多用户不会理解这个问题,而那些理解它的人可能不愿意关闭保护模式。 (当然,除非您有安全的解决方法……)
      【解决方案3】:

      我从6t7m4查看了Protected Mode API的MSDN文档,是否可以从javascript调用ieframe.dll,如:

      var axo = new ActiveXObject("ieframe.dll");
      

      我可以访问IEIsProtectedModeProcess() 功能,但我认为出于安全原因它无法访问。

      【讨论】:

      • 您应该将这些更新作为对原始问题的修改。
      • 不,您不能简单地从 JavaScript 调用任意本机代码函数,原因很明显。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2015-12-15
      • 1970-01-01
      • 2019-10-17
      • 2010-11-18
      • 2012-01-31
      • 2015-12-04
      相关资源
      最近更新 更多