2010-03-08 59 views
1

我創建了一個自定義的ActiveX控件並公開了一個名爲「getDesktopWindows」的方法。然後我用下面的javascript來調用它:當activex與flash播放器在同一頁面時,無法調用activex方法

var plugin = document.getElementById(「myPlugin」); var wins = plugin.getDesktopWindows();

到目前爲止,一切正常。然後我將代碼封裝到一個javascript函數中,並使用一個flex應用程序來調用它。

//在JavaScript

功能getDesktopWindows(){ VAR插件=的document.getElementById( 「爲myplugin」); var wins = plugin.getDesktopWindows(); 回報勝利; }

//撓曲

變種勝= ExternalInterface.call( 「getDesktopWindows」);

現在,我會收到「Microsoft JScript運行時錯誤:對象不支持此屬性或方法」

猜測的問題是,因爲呼叫從Flash Player的起源。我嘗試直接在JavaScript中調用它。我又收到了同樣的例外。那麼可能是因爲同一個網頁上有兩個activex?

+0

這是一個MFC的ActiveX? – 2010-03-30 21:18:13

+0

這是一個ATL控件。不過,我已經設法解決這個問題。非常感謝您檢查這一點。問候 順便說一句我已經發布這在MSDN論壇上,你也回覆了:) – tactoth 2010-04-01 04:04:00

回答

0

最後我發現呼叫需要是異步的。如果一個調用已經從一個ActiveX啓動並調用另一個ActiveX,它在某些瀏覽器中失敗。解決方法是首先排隊呼叫,然後再發起另一個ActiveX調用。