为什么我不能在 Internet Explorer 中向 window.external 对象添加方法,但可以在其他浏览器上工作

k4v*_*vin 5 javascript internet-explorer external

以下javascript代码适用于 Chrome 和 Firefox,但不适用于 Internet Explorer。

window.external.vals = function(){alert("asdf");}
Run Code Online (Sandbox Code Playgroud) 我已经在相应的控制台上尝试过,其他所有浏览器都可以正常工作,但 IE 会引发以下错误

“对象不支持此属性或方法”

任何的想法 ?

Cha*_*lie 0

其他 IE 浏览器功能通过window.externalIE 映射。对于其他浏览器,它只是窗口中的另一个对象。

window.external但是,您可以使用 IE 自动化服务器添加任何方法。最终该方法将被编写为 Windows 二进制文件 - 而不是 JavaScript 方法。

但是您可以在 Javascript 中调用此方法并使用它返回的内容或调用它提供的服务。

本文展示了如何在 Delphi 中扩展 IE 外部对象。但是您可以将此代码转换为 C#,因为它全部与 COM 接口有关。