flex 开发中 ,html向flex传递参数

最近在做一个flex 的开发,需要用到从html向flex编译出来的swf文件传递一个参数。因为没有做个相关的工作,所以就找各种帖子来看看。

以下是网上提供的大多数方法。  1.使用Application.application.parameters,结合flashvars进行传参。2,使用LoaderInfo(this.root.loaderInfo).parameters

不过在我的开发中都是报错,之后查了一些资料,发现LoaderInfo(this.root.loaderInfo).parameters是使用在as开发成的swf中使用,不适合使用在flex项目中。Application.application.parameters的传参方法在flex4.0之后的版本已经被抛弃了,所以不能直接使用。

flex4.0之后提供的方法是使用FlexGlobals.topLevelApplication.parameters ,直接使用可能会报错,是因为需要导入import mx.core.FlexGlobals;,这样就正确了!

以下是一个小例子:


html中:

 <script type="text/javascript">
            <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 
            var swfVersionStr = "10.0.0";
            <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
            var xiSwfUrlStr = "playerProductInstall.swf";
            var flashvars = {};
flashvars.soundUrl = "img/music.mp3"                //这个就是需要传参给swf的参数
            var params = {};
            params.quality = "high";
            params.bgcolor = "#b9fbf9";
            params.allowscriptaccess = "sameDomain";
            params.allowfullscreen = "true";
            var attributes = {};
          
            swfobject.embedSWF(
                "****.swf", "flashContent", 
                "470", "90", 
                swfVersionStr, xiSwfUrlStr, 
                flashvars, params, attributes);
<!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
        </script>



flex中 

var soundUrl:String =FlexGlobals.topLevelApplication.parameters.soundUrl; 


这样就可以在flex 中引用外部参数了····


ps:菜鸟的学习,欢迎大侠拍砖指点哈!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值