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

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

 
  1. <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">

  2. <param name="allowScriptAccess" value="sameDomain" />

  3. <param name="movie" value="Test.swf" />

  4. <param name="quality" value="high" />

  5. <param name="bgcolor" value="#ffffff" />

  6. <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" />

  7. </object>

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

 
  1. <object id="Test" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="518">

  2. <param name="movie" value="/images/index.swf" />

  3. <param name="quality" value="high" />

  4. <param name="wmode" value="transparent" />

  5. <param name="swfversion" value="15.0.0.0" />

  6. <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->

  7. <!--[if !IE]>-->

  8. <object type="application/x-shockwave-flash" data="/images/index.swf" width="1000" height="518">

  9. <!--<![endif]-->

  10. <param name="quality" value="high" />

  11. <param name="wmode" value="transparent" />

  12. <param name="swfversion" value="15.0.0.0" />

  13. <!--[if !IE]>-->

  14. </object>

  15. <!--<![endif]-->

  16. </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文件里面,这样获取:

 
  1. var myPara1:String=stage.loaderInfo.parameters.myVar1;

  2. var myPara2:String=stage.loaderInfo.parameters.myVar2;

  3. my_txt.text = "网页中的myVar1参数:"+myPara1;

  4. var vname:String = myPara2;

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

 
  1. ObjectID.SetVariable(参数名,参数值);

  2. 1.在OBJECT标签中,插入id="Test"

  3. 2.在EMBED标签中,插入name="Test"和swLiveConnect="true",确保没有使用id属性;

  4. 本例的ObjectID已经设为Test,具体做法如下:在</object>标记的后面(也就是加载FLASH影片之后)直接加入以下代码:

  5. <script language=javascript>

  6. Test.SetVariable("myVar1","xxxxx");

  7. Test.SetVariable("myVar2","yyyyy");

  8. </script>

Flash里获取方法同上段。


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

 
  1. search_btn.addEventListener("click",goSearch);

  2. function goSearch(me:MouseEvent){

  3. var url:String = "http://search.yahoo.com/search";

  4. var my_req:URLRequest = new URLRequest(url);

  5. var variables:URLVariables = new URLVariables();

  6. variables.decode("p=" + search_txt.text);

  7. //上面那句也可以写成 variables.p = search_txt.text;

  8. my_req.data = variables;

  9. my_req.method = URLRequestMethod.POST;

  10. navigateToURL(my_req);

  11. }


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

猜你喜欢

转载自blog.csdn.net/learn8more/article/details/81560588