是否有任何以编程方式确定Internet Explorer当前安全区域设置的方法?

我想知道我的网站何时会因为IE安全策略而阻止XMLHttpRequest ActiveX控件,但在网站实际尝试创建它之前会导致黄色条显示在顶部(说“To”为了保护您的安全,Internet Explorer已限制此网页运行可以访问您计算机的脚本或ActiveX控件。“)

感谢。

其他提示

安全区无关紧要,因为Windows用户可以自行确定哪个协议由哪个区域处理。例如,我将整个http和整个https区域添加到可信站点区域(区域2)。这是通过密钥

完成的
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet     Settings\ZoneMap\ProtocolDefaults

您可以通过javascript检查document.protocol,但这对您有什么帮助?

if (document.protocol == "HTTP (HyperText Transfer-Protokoll)")

您认为它是互联网区域,但在我的计算机上,它是受信任的区域,具有自己的个人安全设置。它表示jscript不允许您获取每个区域的各个安全设置值。

可以在没有那个愚蠢的黄色条的情况下执行activex对象,但是你需要将com对象guids添加到safe com对象列表中。这是通过注册表完成的。对于大多数对象,默认是不安全的,除了一些愚蠢无用的垃圾对象,如flash activex,wmp activex和stuff

  

我想知道我的网站何时会因IE安全策略而阻止XMLHttpRequest ActiveX控件

即使您确实知道自己所在的区域也是如此,因为您无法读取每个区域的设置,并且从IE6SP2开始,还有更多影响ActiveX的设置,这些设置无法在区域基础。 (IE7具有更多特定于控件的设置。)

我知道没有办法推测性地创建XMLHttpRequest并避免使用黄色条,只缺少使用原生的‘新的XMLHttpRequest()’对象,这使你IE6不兼容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top