我创建了一个自定义的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?
答案 0 :(得分:0)
最后我发现呼叫需要异步。如果已从ActiveX启动调用并调用另一个ActiveX,则在某些浏览器中会失败。解决方案是首先对呼叫进行排队,然后启动对另一个ActiveX的另一个呼叫。