IE内部网区域中的ActiveX控件 - 没有提示阻止?

时间:2011-04-19 04:29:27

标签: javascript security internet-explorer internet-explorer-7 activex

我正在为我的公司编写一个内部网页,需要使用嵌入式DLL(COM)。 dll已在所有客户端计算机上注册,因此无需从页面下载,只需运行即可。

我尝试使用以下代码嵌入控件:

var newObj = new ActiveXObject("servername.classname");

这在本地测试时有效,但是从Intranet中,对象无法使用js错误“自动化服务器无法创建对象”进行实例化。我怀疑这是因为IE(7)默认在Intranet区域中阻止ActiveX控件。我也试过使用<object>标签,但没有运气。

我有一个截止日期来完成这项工作,IT部门不太可能在此之前改变公司的安全设置,所以除非它非常直接地让他们这样做,否则不是一个选择。

所以我的问题是:是否有任何可能的解决方法,允许我嵌入控件,以便它至少提示用户而不是静默阻止控件,而不更改IE中的默认安全设置? /强>

公司几乎每个人都使用某种版本的IE(最多7个),所以它只需要为此工作。

所有帮助和评论都表示赞赏。

感谢。

更新: 如果这绝对不可能,我正在考虑使用this question中服务器上的脚本中的dll。我仍然宁愿做客户端,因为控件有一些很好的用户界面。

1 个答案:

答案 0 :(得分:1)

如果您使用<object>标记嵌入它,它应该提示您;然后你可以通过object标签对它进行调用。另一个可行的技巧是:<!-- saved from url=(0013)about:internet -->作为你的html文件的第一行;我不知道这是否适用于Intranet区域,但是来自localhost会导致页面被视为互联网页面。

我使用过FireBreath个插件(它们充当了activex控件,可以按照你描述的方式调用)并且从来没有像这样的问题。祝你好运!