当activex与flash播放器位于同一页面时,无法调用activex方法

时间:2010-03-08 06:51:43

标签: javascript flash com atl

我创建了一个自定义的ActiveX控件并公开了一个名为“getDesktopWindows”的方法。然后我使用以下javascript来调用它:

var plugin = document.getElementById(“myPlugin”); var wins = plugin.getDesktopWindows();

到目前为止一切正常。然后我将代码包装到javascript函数中并使用flex应用程序来调用它。

//在javascript中

function getDesktopWindows(){ var plugin = document.getElementById(“myPlugin”); var wins = plugin.getDesktopWindows(); 回报胜利; }

//在flex

var wins = ExternalInterface.call(“getDesktopWindows”);

现在我将收到“Microsoft JScript运行时错误:对象不支持此属性或方法”

猜测问题是因为呼叫来自flash播放器。我尝试直接在javascript中调用它。我再次收到同样的例外。可能是因为同一网页中存在两个activex?

1 个答案:

答案 0 :(得分:0)

最后我发现呼叫需要异步。如果已从ActiveX启动调用并调用另一个ActiveX,则在某些浏览器中会失败。解决方案是首先对呼叫进行排队,然后启动对另一个ActiveX的另一个呼叫。