兼容火狐ie 在html中給.swf傳遞參數

 

原來的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瀏覽器中,頁面都顯示正常,嘿嘿!在這再次感謝江湖救急

時熱心的各位,將學到的這些分享與大家,希望有人會用的上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章