我正在尝试使用ActionScript3运行Javascript。
这是绑定到按钮的代码:
import flash.external.ExternalInterface;
function call_javascript(evt:MouseEvent):void {
ExternalInterface.call("alert", "JS");
}
js_btn.addEventListener(MouseEvent.MOUSE_UP, call_javascript);
这是我的HTML:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="js" align="middle">
<param name="movie" value="js.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name='AllowScriptAccess' value='always'/>
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="js.swf" width="550" height="400">
<param name="movie" value="js.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="window" />
<param name="scale" value="showall" />
<param name="menu" value="true" />
<param name="devicefont" value="false" />
<param name="salign" value="" />
<param name="allowScriptAccess" value="always" />
<!--<![endif]-->
<a href="http://www.adobe.com/go/getflash">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Scarica Adobe Flash Player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
当我按下按钮时没有任何反应,为什么? 我正在使用FlashProfessional CS6
答案 0 :(得分:2)
call() method将js函数名和参数作为单独的参数。
试试这个:
ExternalInterface.call("alert", "JS");
编辑:您还需要在HTML页面中allow script access。
将此添加到SWF的容器HTML页面
<param name='AllowScriptAccess' value='always'/>
例如:
<object id='MyMovie.swf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' height='100%' width='100%'>
<param name='AllowScriptAccess' value='always'/>
<param name='src' value=''MyMovie.swf'/>
<embed name='MyMovie.swf' pluginspage='http://www.adobe.com/go/getflashplayer' src='MyMovie.swf' height='100%' width='100%' AllowScriptAccess='never'/>
</object>
编辑2 :仅在文件属于本地受信任的安全沙箱时,才能在本地运行此功能。来自文档:
对于本地运行的SWF文件,对这些方法的调用是成功的 仅当SWF文件和包含的网页(如果有)时 在本地受信任的安全沙箱中。如果调用这些方法失败 内容位于local-with-networking或local-with-filesystem中 沙箱中。