flash与as3调用问题请教
在遨游下可以用,但是必须先发送flash到js,如果先发js到flash错误
ie6下不能,火狐不能,请教怎么回事,代码全部提供
import flash.external.ExternalInterface;import flash.events.MouseEvent;btn.addEventListener(MouseEvent.CLICK,clickHandler);function clickHandler(evt:MouseEvent){ ExternalInterface.call('jsFunction',txt.text); ExternalInterface.addCallback("flashFunction", flashHander);}function flashHander(msg:String){ result.text=msg;}
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script><object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="100"> <param name="allowScriptAccess" value="always" /> <param name="movie" value="FlashToJs.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="6.0.65.0" /> <!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 --> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="FlashToJs.swf" width="550" height="100"> <!--<![endif]--> <param name="allowScriptAccess" value="always" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="6.0.65.0" /> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 --> <div> <h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" height="33" /></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--></object><div style="background:#eee;width:500px;height:30px;padding:10px;border:solid 1px #000;"><input type="text" name="text" id="text" value="" style="width:300px;" /><input type="button" name="button" id="button" value="发送给Flash" onclick="clickme()"/></div><script type="text/javascript">swfobject.registerObject("FlashID");function jsFunction(msg) { document.getElementById("text").value=msg;}function clickme(){ var msg=document.getElementById("text").value; document.getElementById("FlashID").flashFunction(msg);}var name = navigator.appName; // 获取浏览器名称 var version = parseFloat(navigator.appVersion); // 获取浏览器版本 var userAgent = navigator.userAgent; // 获得浏览器商家信息 document.write( " 浏览器名称: " + name + " <br> " ); document.write( " 浏览器版本: " + version + " <br> " ); document.write( " 浏览器商家信息: " + userAgent);</script>
ExternalInterface.addCallback("flashFunction", flashHander);