• flash和js通信实例


    一:flash代码

    import com.hexagonstar.util.debug.Debug;//alcon调试工具所需包
    import flash.external.ExternalInterface;//js与flash交互所需包
    import flash.events.Event;
    import flash.events.MouseEvent;
    
    var str:String=this.loaderInfo.parameters.myFlash;//加载时获取网页的flash对象
    Debug.trace("flash:"+str);//输入对象看看是否为空
    
    ExternalInterface.addCallback("callFlash",flashTest);//js调用flash方法(在js那边调用的方法别名为callFlash)
    
    function flashTest(textValue:String):void
    {
    	myText.text=textValue;
    	Debug.trace("js传过来的值为:"+textValue);
    }
    
    btnSend.addEventListener(MouseEvent.CLICK,sendFun);
    function sendFun(e:MouseEvent):void
    {
    	ExternalInterface.call("calljs",text1.text);//flash调用js中的方法
    }
    

    二:html代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>flash和js通信实例</title>
    <script language="javascript" type="text/javascript">
    var flash;//flash对象
    function sendData(obj)
    {
        var vtext=obj.value;
        if(navigator.appName.indexOf("Microsoft") > -1)//IE浏览器
        {
            flash=window["myFlash"];
        }
        else//兼容非IE浏览器、火狐等。
        {
            flash=document["myFlash"];
        }
        if(flash!=null&&flash!=undefined)
        {
            flash.callFlash(vtext);//js调用flash中的方法
        }
    }
    function calljs(text)
    {
        document.getElementById("inputData").value=text;
    }
    </script>
    </head>
    <body bgcolor="#ffffff">
    <!-- 影片中使用的 URL-->
    <!-- 影片中使用的文本-->
    <p>
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="300" height="100" id="myFlash" align="middle">
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="movie" value="flash和js通信实例.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#ffffff" />
        <embed src="flash和js通信实例.swf" quality="high" bgcolor="#ffffff" width="300" height="100" name="myFlash" swLiveConnect="true" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
      </object>
    </p>
    <form name="form1" id="form1" method="post" action="">
      <input type="text" id="inputData" name="inputData" maxlength="45" onchange="sendData(this)" />
    </form>
    <p> </p>
    </body>
    </html>
    

  • 相关阅读:
    Java中如何解决double和float精度不准的问题
    Linux防火墙Firewall和Iptables的使用
    yum 彻底删除nodejs,重新安装
    hbase集群搭建参考资料
    10分钟教你打造一个微信语音点歌系统
    微信公众平台向特定用户推送消息
    圆角与半角互相转换
    Swagger简单介绍
    测试通过!为何线上还有很多BUG?实践中的质量控制
    AXURE插件在 Chrome 浏览器中用不了怎么办?
  • 原文地址:https://www.cnblogs.com/chenhaib/p/2057424.html
Copyright © 2020-2023  润新知