DDR爱好者之家 Design By 杰米
mxml页面:
<"1.0" encoding="utf-8""http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" xmlns:code="http://code.google.com/p/flex-iframe/" creationComplete="initApp()"> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import flash.external.*; //引入ExternalInterface public function initApp():void { ExternalInterface.addCallback("myJsFunction",myAsFuncn); button.addEventListener(MouseEvent.CLICK,buttonClick); } public function myAsFuncn(js:String):String { return "js:"+js+"访问了as:"+asInput.text; } private function buttonClick(event:MouseEvent):void { trace(asInput.text); label.text = "as 调用 js ..."; var result:String = callJS(asInput.text); label.text = "返回值:" + result; } private function callJS(arg:String):String { return ExternalInterface.call("jsMethod",arg); } private function asMethod(arg:String):String { label.text = arg; return "js 调用了 as 成功!"; } ]]> </fx:Script> <s:VGroup width="100%" height="100%"> <s:VGroup width="100%"> <mx:Button x="169.5" y="162" label="点击" fontSize="14" id="button"/> <mx:TextInput id="asInput" x="122" y="76"/> <s:Label id="label"/> </s:VGroup> </s:VGroup> <code:IFrame source="MyHtml.html" width="500" height="500"/> </s:Application>
html页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MyHtml.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script language="JavaScript"> function callAs( ) { var myFlexfun=document.getElementById("myFlexFun"); var result=myFlexfun.myJsFunction(jsinput.value); alert(result); mess.value=result; } function jsMethod(arg) { alert("as 调用 js 成功,参数为:" + arg); return ("as 调用 js 成功!"); } </script> </head> <body> <table> <tr> <td> <object id= "myFlexFun" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="300"> <param name="movie" value="test.swf" /> <param name="quality" value="high" /> <embed src="/UploadFiles/2021-04-02/test.swf">如果试过以上的方法,会发现在被嵌入的Html见面中又嵌入了一个父级的swf文件,如下
这种情况显然不是我想要的结果。于是修改下代码,如下:
mxml页面
<"1.0" encoding="utf-8""http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" xmlns:code="http://code.google.com/p/flex-iframe/" creationComplete="initApp()"> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import flash.external.*; import mx.controls.Alert; import mx.rpc.events.ResultEvent; //引入ExternalInterface public function initApp():void { ExternalInterface.addCallback("sayCallBack",callBack); } public function callBack(str:String):String{ return "Hello "+str; } protected function button1_clickHandler(event:MouseEvent):void { ExternalInterface.call('sayHelloWorld',' Jim'); var array:Array = new Array(); array.push("a", "b","c","d","e"); myIFrame.callIFrameFunction('jsMethod',array,function(str:String):void{ label.text=str; }); } public static function str():String{ return "aaa"; } ]]> </fx:Script> <s:VGroup width="100%" height="100%"> <s:BorderContainer width="100%" height="300" backgroundColor="#00ffaa"> <s:HGroup width="100%"> <s:Button label="调用js" click="button1_clickHandler(event)"/> <mx:Button x="169.5" y="162" label="点击" fontSize="14" id="button"/> <mx:TextInput id="asInput" x="122" y="76"/> <s:Label id="label"/> </s:HGroup> </s:BorderContainer> <s:BorderContainer width="100%" height="300"> <code:IFrame id="myIFrame" source="com/MyHtml.html" width="100%" height="100%"/> </s:BorderContainer> </s:VGroup> </s:Application>html页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MyHtml.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script language="JavaScript"> function callAs( ) { var ifrm =window.parent.xiSwfUrlStr; if (ifrm) { alert(ifrm); }else{ alert('false'); } } function jsMethod(arr) { alert("as 调用 js 成功,参数为:"+arr[4]); return ("as 调用 js 成功!"); } function callA(){ var str=window.parent.document.getElementById("test").sayCallBack("Bill"); if (str) { alert(str); mess.value=str; }else{ alert('false'); } } </script> </head> <body> <table> <tr> <td > <object id= "myFlexFun" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"> <param name="movie" value="../test.swf" /> <param name="quality" value="high" /> </object> </td> </tr> <tr> <td> <input type="input" id="jsinput"/> <input type="button" value="点我看效果" onclick="callA()"/> <input type="input" id="mess"/> </td> </tr> </table> </body> </html>这样,html的js脚本就可以直接调用as脚本,而不需要再次嵌入swf文件。
以上所述是小编给大家介绍的Actionscript与javascript交互实例程序(修改),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2025年03月16日
2025年03月16日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]