天天看點

jsp嵌入Flash的幾種方法

1. 一、傳統的方法。

2. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

3. codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"

4. width="550" height="400" id="Untitled-1" align="middle">

5. <param name="allowScriptAccess" value="sameDomain" />

6. <param name="movie" value="mymovie.swf" />

7. <param name="quality" value="high" />

8. <param name="bgcolor" value="#ffffff" />

9. <embed src="mymovie.swf" quality="high" bgcolor="#ffffff" width="550"

10. height="400" name="mymovie" align="middle" allowScriptAccess="sameDomain"

11. type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

12. </object>

1. 這方法是使用 object 和 embed 标簽來嵌入,細心的會發現,object 的很多參數和 embed 裡面的很多屬性是重複的,為什麼這樣做?為了浏覽器相容性,有的浏覽器支援 object,有的支援 embed,這也是為什麼要修改 Flash 的參數時兩個地方都要改的原因。

2.

3. 二、隻用 object 的方法,這種方法的名字叫做 Flash satay,最早是2002年由 Drew McLellan 發表在 A List Apart 上,後來又經過了幾次完善:

4. <object type="application/x-shockwave-flash

5. data="c.swf?path=movie.swf"

6. width="400" height="300">

7. <param name="movie"

8. value="c.swf?path=movie.swf" />

9. <img src="noflash.gif"

10. width="200" height="100" alt="" />

11. </object>

12. 這方法沒 embed 了,可以通過驗證,是标準的嵌入 Flash 的方法,浏覽器相容性也不錯,看起來幾乎完美,不過還是有問題的:

13.

14. 需要一個 holder swf 來加載你的目标 swf 以保證 IE 中的 stream 能力,如果你需要通過 flashvars 來傳參,或者和頁面的 JS 互動,會很麻煩。

15.

16. 三、用JS嵌入的方法。

17. 用JS嵌入就是各有各的嵌入方法了,有嵌得好的有嵌得不好的。有人用 document.write 直接寫,這法子說實話不大好,感覺 hack 成分多了,有點為了驗證而驗證的意思,而且沒有展現出什麼 JS 的優勢。我覺得一個好的 JS 嵌入腳本,在保證 Flash 應有功能的基礎上,要發揮 JS 的優勢應該要有版本檢測,要能很好解決可通路性問題(也就是使用者在無法浏覽 Flash 内容或禁用 JS 的時候應該如何處理的問題),要易于重複使用。

18. 我知道的比較常見的 JS 嵌入方法有以下幾個

19.

20. SWFObject

21.

22. UFO - Unobtrusive Flash Objects

23.

24. Macomedia(現在是Adobe了..)