【Flash】网页向Flash传参数、JS向Flash传参数、Flash向网页传参数

本文详细介绍了网页与Flash之间的参数传递方法,包括网页向Flash、JS向Flash以及Flash向网页的不同方式。通过实例展示了如何设置参数及在Flash中读取这些参数。

比如网页里插入的Flash代码是这样的:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="Test" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="Test.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="Test.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="Test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

 也有的Flash代码会是这样的:

<object id="Test" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="518">
  <param name="movie" value="/images/index.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="transparent" />
  <param name="swfversion" value="15.0.0.0" />
  <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="/images/index.swf" width="1000" height="518">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <param name="swfversion" value="15.0.0.0" />
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>


 

★★★★★★网页向Flash里传参数★★★★★★

现在需要传两个参数myVar1=xxxxx和myVar2=yyyyy给Flash,可以用以下几种方法:
方法一:
<param name="movie" value="Test.swf" />
替换成以下代码:
<param name="movie" value="Test.swf?myVar1=xxxxx&myVar2=yyyyy" />

方法二:
增加以下一行代码:
<param name="FlashVars" value="myVar1=xxxxx&myVar2=yyyyy" />

注意如果如果Flash代码是前面讲的第二种,需要在两个<object>标签里都要加以上代码,否则非IE浏览器会失效。

而在Flash文件里面,这样获取:

var myPara1:String=stage.loaderInfo.parameters.myVar1;
var myPara2:String=stage.loaderInfo.parameters.myVar2;
my_txt.text = "网页中的myVar1参数:"+myPara1;
var vname:String = myPara2;

 

★★★★★★JS向Flash里传参数★★★★★★

ObjectID.SetVariable(参数名,参数值); 
1.在OBJECT标签中,插入id="Test"
2.在EMBED标签中,插入name="Test"和swLiveConnect="true",确保没有使用id属性;
本例的ObjectID已经设为Test,具体做法如下:在</object>标记的后面(也就是加载FLASH影片之后)直接加入以下代码:
<script language=javascript>
    Test.SetVariable("myVar1","xxxxx");
    Test.SetVariable("myVar2","yyyyy");
</script>

Flash里获取方法同上段。


★★★★★★Flash向网页传参数(到URL)★★★★★★

search_btn.addEventListener("click",goSearch);
function goSearch(me:MouseEvent){
    var url:String = "http://search.yahoo.com/search";
    var my_req:URLRequest = new URLRequest(url);
    var variables:URLVariables = new URLVariables();
    variables.decode("p=" + search_txt.text);
    //上面那句也可以写成 variables.p = search_txt.text;
    my_req.data = variables;
    my_req.method = URLRequestMethod.POST;
    navigateToURL(my_req);
}


★★★★★★Flash向网页传参数(到页面控件)★★★★★★

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值