原来的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="../../..//pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0">
<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="/go/getflashplayer" type="application/x-shockwave-flash">
</embed>
</object>
这段代码加到html中,将flash生成的.swf文件放到与html同目录下,用ie浏览器访问页面,页面显示正常,
flash效果显示很好,内容图片都随着html传进的参数改变。但在火狐浏览器下传进的参数不能在页面上
正常显示,why?本人处于莫名其妙当中,后来广发英雄帖Frusop大哥热心指点,才知道在除ie浏览器外
,其他浏览器只识别<embed></embed>里的东西。于是更改代码如下:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../../..//pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0">
<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="/go/getflashplayer" type="application/x-shockwave-flash">
</embed>
</object>
这次火狐终于给了面子可以显示我通过html传入的内容,但新的问题又出现了,火狐中页面将html传入的文
字显示为乱码,这应该是页面编码问题,又经过Frusop大哥的指点可能as中要加入一条
System.useCodepage = true;来定义flash中的内容使用页面编码,我将词条语句加入到as文件中,但乱码
问题依然存在,看了没有找到问题的根源,仔细观察了下<param>部分代码跟<embed>中的代码,灵机
一动将代码改为了
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="../../..//pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0">
<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="/go/getflashplayer" type="application/x-shockwave-flash">
</embed>
</object>
面对这么正确的代码,火狐终于低头了,火狐ie浏览器中,页面都显示正常,嘿嘿!在这再次感谢江湖救急
时热心的各位,将学到的这些分享与大家,希望有人会用的上。