原来的flash是一个动态效果很好,但是图片内容、文字内容都是写在flash里面的,交互性不好,在改起来比较麻烦,所以想改成在html可以传参到.swf里面,动态更改flash 里面的内容。 探索过程如下: 1.我要在flash内部调用的html传进的参数 改变文字内容时,先将静态文本改为动态文本,然后加入as代码 we_ser.text=_root.we_ser; 改变图片内容时,先将图片转换为影片剪辑,然后加入as 代码loadMovie( _root.pic,_root); 2.我要在html中给.swf传参 最初代码如下: <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../../../download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="766" height="374"> <param name="flashVars" value="companyname=产品设计&we_ser=best service and best compangs"> <param name="movie" value="as2.swf" > <param name="quality" value="high"> <embed src="as2.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="766" height="374"> </embed> </object> 这段代码加到html中,将flash生成的.swf文件放到与html同目录下,用ie浏览器访问页面,页面显示正常, flash效果显示很好,内容图片都随着html传进的参数改变。但在火狐浏览器下传进的参数不能在页面上 正常显示,why?本人处于莫名其妙当中,后来广发英雄帖Frusop大哥热心指点,才知道在除ie浏览器外 ,其他浏览器只识别<embed></embed>里的东西。于是更改代码如下: <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../../../download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="766" height="374"> <param name="flashVars" value="companyname=产品设计&we_ser=best service and best compangs"> <param name="movie" value="as2.swf" > <param name="quality" value="high"> <embed src="as2.swf?companyname=产品设计&we_ser=best service and best compangs" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="766" height="374"> </embed> </object> 这次火狐终于给了面子可以显示我通过html传入的内容,但新的问题又出现了,火狐中页面将html传入的文 字显示为乱码,这应该是页面编码问题,又经过Frusop大哥的指点可能as中要加入一条 System.useCodepage = true;来定义flash中的内容使用页面编码,我将词条语句加入到as文件中,但乱码 问题依然存在,看了没有找到问题的根源,仔细观察了下<param>部分代码跟<embed>中的代码,灵机 一动将代码改为了 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../../../download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="766" height="374"> <param name="flashVars" value="companyname=产品设计&we_ser=best service and best compangs"> <param name="movie" value="as2.swf" > <param name="quality" value="high"> <embed src="as2.swf" flashVars="companyname=产品设计&we_ser=best service and best compangs" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="766" height="374"> </embed> </object> 面对这么正确的代码,火狐终于低头了,火狐ie浏览器中,页面都显示正常,嘿嘿!在这再次感谢江湖救急 时热心的各位,将学到的这些分享与大家,希望有人会用的上。 |
兼容火狐ie 在html中给.swf传递参数
最新推荐文章于 2021-06-07 15:42:36 发布