宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

从HTML中传递参数给Flash(FlashVars的使用)

2016-10-13 00:16:48 点击量:5 标签: 收藏本文

  FlashVars 提供一个解决方案用户把HTML变量作为参数传递给SWF。这点在传递一些简单的数据给SWF时是非常有用的功能,例如当web services URL发生变化时你可能需要传递一个新的URL给SWF,这样就可避免再次重新编译SWF。
  FlashVars 方案有两部分组成,一部分通过HTML实现,另一部分由ActionScript实现。HTML部分需要在<object> 标签中添加一个<param name="FlashVars"> 标签, 例如下面的
  FlashVars 定义了两个键值对:url1 和url2:
  url1=http://www.example.com&url2=http://www.sample.com
  在ActionScript方面,可通过任何可视化组件都有的root.loaderInfo.parameters 属性得到FlashVars传递进来的参数,root.loaderInfo.parameters 属性是一个关联数组,例如根据上面例子的变量值,root.loaderInfo.parameters 属性将得到两个键值:url1 和url2 。
  通过JavaScript的FlashVars,我们可传递一个字符串序列给SWF,下面的例子演示如何编写<object> 和<embed> 标签以及通过FlashVars传递字符串序列给SWF:
 

  1. // Retrieve the query string, and assign it to a variable.  
  2. var parameters = window.location.search.substr(1);  
  3. var objectEmbed = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
  4. id="Example" width="100%" height="100%" 
  5. codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">';  
  6. objectEmbed += '<param name="movie" value="Example.swf" />';  
  7. objectEmbed += '<param name="quality" value="high" />';  
  8. objectEmbed += '<param name="bgcolor" value="#869ca7" />';  
  9. objectEmbed += '<param name="allowScriptAccess" value="sameDomain" />';  
  10. objectEmbed  
  11. +=  
  12. '<param 
  13. name="FlashVars" 
  14. value="'  
  15. +  
  16. parameters  
  17. +  
  18. '"  
  19. />';  
  20. objectEmbed += '<embed src="Example.swf" quality="high" bgcolor="#869ca7" width="100%" 
  21. height="100%" name="Example" align="middle" play="true" loop="false" quality="high" 
  22. allowScriptAccess="sameDomain" type="application/x-shockwave-flash" 
  23. pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="' + parameters +  
  24. '"></embed>';  
  25. objectEmbed += '</object>';  
  26. document.write(objectEmbed); 

  FlashVars 是Flash 播放器一个重要的功能,但是仅仅用FlashVars 是不够的,它只能传递一些简单的数据,如果要传递复杂的数据,可使用URLLoader 对象。

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室