发布时间:2019-08-05 16:10:07编辑:auto阅读(1130)
运行环境:需要安装IIS,创建网站目录
AS3和外部容器通信方法比较简单:
import flash.text.TextField; var txt:TextField = new TextField(); this.addChild(txt); txt.text = "等待..."; //向JS注册方法,JS调用as3Function这个方法,就是执行callback这个方法 ExternalInterface.addCallback("as3Function",callback); function callback($param:String):void { txt.text = $param; } //直接调用SJ的方法getReady ExternalInterface.call("getReady");
注意:先调用ExternalInterface.addCallback,再调用ExternalInterface.call
JS代码:
<html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>FLASH与JS交互</title> <script language="JavaScript"> var jsReady = false; function pageInit() { jsReady = true; } /**页面没有加载完成会返回false,flash需要再次调用此方法*/ function getReady() { if(jsReady) { //as3Function方法是flash注册的方法 getSwfInstance("FlashID").as3Function("成功"); } else { return jsReady; } } /**获取flash,这里注意:<embed>元素name属性是获取的根据*/ function getSwfInstance(name) { if (navigator.appName.indexOf("Microsoft") != -1) { return window[name]; } else { return document[name]; } } </script> </head> <body onLoad="pageInit()"> <object id="flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"> <param name="movie" value="test.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#F0F0F0"> <param name="menu" value="false"> <param name="wmode" value="opaque"> <param name="FlashVars" value=""> <param name="allowScriptAccess" value="sameDomain"> <embed id="embedID" src="test.swf" name="FlashID" width="550" height="400" align="middle" quality="high" bgcolor="#f0fff8" menu="false" play="true" loop="false" FlashVars="" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> </embed> </object> </body> </html>
注意:swf的文件嵌入到html中的方法比较多,特别关键的要可以获取到所嵌入的swf对象,通过代码你可发现获取swf对象,是通过embed中的name属性。
上一篇: Windows10下python3和py
下一篇: MPLS BGP ×××——技术原理(3
47494
45794
36793
34324
28968
25598
24443
19611
19111
17632
5466°
6048°
5570°
5638°
6573°
5376°
5378°
5884°
5855°
7170°