2009-11-04 82 views
2

我需要使用Javascript在Flash中調用函數。爲此,我使用ExternalInterface類(在http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/external/ExternalInterface.html末尾描述了示例)。但它不適合我。如何在Flash和Javascript之間進行通信

的SWF聲明在HTML頁面是這樣的:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="305" height="270" id="DemoPlayer" align="middle"> 
<param name="allowScriptAccess" value="always" /> 
<param name="allowFullScreen" value="false" /> 
<param name="movie" value="DemoPlayer.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /> <embed src="DemoPlayer.swf" quality="high" bgcolor="#ffffff" width="305" height="270" name="DemoPlayer" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
</object> 

我打過電話使用JavaScript從Flash功能:

function thisMovie(movieName) { 
     if (navigator.appName.indexOf("Microsoft") != -1) { 
      return window[movieName]; 
     } else { 
      return document[movieName]; 
     } 
    } 
    function sendToActionScript(value) { 
     thisMovie("DemoPlayer").sendToActionScript(value); 
    } 

在Flash中,我有:

ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript); 

在FireFox中,我收到以下消息:「在NPObject上調用方法錯誤![插件異常:Actionscript中出錯。使用嘗試/ catch塊以查找錯誤。]。「

我已經將參數allowScriptAccess的值改爲「always」,但它沒有幫助。 也許這是ExternalInterface.addCallback(「sendToActionScript」,receivedFromJavaScript)的位置的問題;它位於「Adobe Flash」* .fla文件中的「Action-Frame」選項卡中(我是flash新手)

回答

3

我發現問題 - 這是Flash Player settings。首先,我只添加了swf文件信任,但是當我添加它開始工作的整個目錄。

相關問題