【问题标题】:IE Permissions required for ActiveX controlsActiveX 控件所需的 IE 权限
【发布时间】:2013-09-29 13:30:54
【问题描述】:

我有一个 HTML+JS 页面,它使用以下代码调用 ActiveX 控件

<object id="somecomp" type="application/x-somecomps-associated-mime-type">
</object>

有 javascript 使用以下代码调用 ActiveX 上的方法

var myObj = document.getElementById('somecomp');
ret = myObj.somemethod(strInput);

如果在我的本地桌面 c:\something\my.html 上托管此页面,并在 IE9 上打开此页面,我会收到警告

Internet Explorer restricted this webpage from running scripts 
or ActiveX controls 

还有一个按钮,上面写着[ Allow Blocked content]。如果我单击此按钮,则活动运行良好。

但是,如果我将此页面托管在远程 IIS 服务器上并以 http://some_ip_address/my.html 的身份打开该页面,那么我根本不会收到此警告并且控件不会被初始化。 (myObj 不为 null - 但是当调用 somemethod 时,IE 崩溃)

如果我将http://ipaddress 放在我受信任的站点中,那么我不会收到警告,并且 activex 工作正常。

现在,即使该站点位于 Internet 区域(即不在受信任的站点中),我也需要使其正常工作。 IE9 中有很多与 ActiveX 相关的安全设置。有没有一种简单的方法来确定我需要调整哪个 - 而不是一个一个地尝试。

【问题讨论】:

    标签: internet-explorer com permissions internet-explorer-9 activex


    【解决方案1】:

    给你。确切的设置取决于 ActiveX 控件是否被标记为安全的脚本,您仍然需要使用这两个设置来解决这个问题。此外,控件可能足够聪明,可以检查其运行所在的安全区域,并将自身限制在特定区域(例如,本地或受信任),甚至特定域/站点。在这种情况下,您必须将您的网站(或 URL)添加到该特定区域,但如果控件是 domain-bound,您可能仍然不走运。

    【讨论】:

    • 将那些禁用的权限更改为提示没有帮助。我必须禁用保护模式才能使其正常工作。有没有更精细的东西,我可以做。
    • 您能否提供有关控件本身的更多信息?您是否尝试将其创建为new ActiveXObject(progId)
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2011-01-28
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多