WEB开发网
开发学院图形图像Flash 从HTML中传递参数给Flash(FlashVars的使用) 阅读

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

 2012-02-06 12:12:27 来源:本站整理   
核心提示:FlashVars 提供一个解决方案用户把HTML变量作为参数传递给SWF,这点在传递一些简单的数据给SWF时是非常有用的功能,从HTML中传递参数给Flash(FlashVars的使用),例如当web services URL发生变化时你可能需要传递一个新的URL给SWF,这样就可避免再次重新编译SWF,它只能传递一

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 对象。

Tags:HTML 传递 参数

编辑录入:coldstar [复制链接] [打 印]
赞助商链接