最近帮朋友弄个flash的时候,发现到以前一直从html设定flash变量的一个问题。首先看看平时我怎么传送变量的。
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="725" height="500" id="index" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="index.swf?myText=某某文字" />
<param name="quality" value="high" />
<param name="bgcolor" value="#999966" />
<embed src="index.swf?myText=某某文字" quality="high" bgcolor="#999966" width="725" height="500" name="index" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
我想很多人都是使用以上的写法,既简单又方便。但是这有个缺点,即文字太长的话,在flash中就取不到了。 ~_~"(花了不少时间检查错误)
所以在此建议使用flash5以上的朋友改由FlashVars这个parameter传送变量能够减少这些不必要的错误,用法如下:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="725" height="500" id="index" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="index.swf" />
<param name=FlashVars VALUE="myText=某某文字">
<param name="quality" value="high" />
<param name="bgcolor" value="#999966" />
<embed src="index.swf" FlashVars="myText=某某文字" quality="high" bgcolor="#999966" width="725" height="500" name="index" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
虽然自己要加参数,但比起来也只差几个字,但又能减少错误,应该算是值得的 :)