6

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

回答

3

对于受保护的用户,您想要完成的工作有什么不同?我已经看到了一些窗口弹出的问题,但除此之外,干净的JavaScript往往受到的影响较小。如果您发现代码块不会执行,为什么不在执行后检查文档是否是您期望的状态,如果不是,则会发出警报。

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

保护模式是定制的,所以你真的没有检测它的基础上的行动违反了一种可靠的方法。许多用户禁用UAC,因此通过版本检测也无法正常工作(更不用说,您可能会遇到与IE 8相同的令人头疼的问题。总是最好测试一下是否有效,而不是假设版本)。

0

Adob​​e Flash may在Vista IE7保护模式下表现不同(或不如预期)。目的是向用户提供这种反馈。

+0

如果我的Flash在保护模式下工作不正常,我会尝试修复使用Flash来解决这个问题。如果你解释它,许多用户不会理解这个问题,而那些用户可能不愿意关闭保护模式。 (当然,除非你有一个安全的解决方法...) – 2008-12-02 22:28:07

0

我回顾了Protected Mode API的MSDN文档从6t7m4,如果我可以从JavaScript调用的ieframe.dll,如:

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

我将能够访问IEIsProtectedModeProcess()功能,但我相信由于安全原因,它是无法访问的。

+0

你应该包括这些更新作为您的原始问题的编辑。 – recursive 2008-12-11 03:05:43