藉助 SWFObject 實現利用JavaScript嵌入 Flash

來源:互聯網
上載者:User

三、用JS嵌入的方法

  用JS嵌入就是各有各的嵌入方法了,有嵌得好的有嵌得不好的。有人用 document.write 直接寫,這法子說實話不大好,感覺 hack 成分多了,有點為了驗證而驗證的意思,而且沒有體現出什麼 JS 的優勢。我覺得一個好的 JS 嵌入指令碼,在保證 Flash 應有功能的基礎上,⒒?JS 的優勢應該要有版本檢測,要能很好解決可訪問性問題(也就是使用者在無法瀏覽 Flash 內容或禁用 JS 的時候應該如何處理的問題),要易於重複使用。
  我知道的比較常見的 JS 嵌入方法有以下幾個:

  SWFObject
  UFO - Unobtrusive Flash Objects
  Macomedia(現在是Adobe了..)提供的指令碼[這裡]和[這裡]。

  我 用SWFObject比較多,就挑它來說一些這種方法的優點:

  IE中沒有討厭的虛框問題了。
  提供了完善的版本檢測功能,如果版本不夠則顯示其他東西,比片或文字。
  便於使用,只要在頁面頭載入一個 .js 檔案,然後 HTML 寫一個容器,裡面放普通的文本或圖片(用於無法顯示 Flash 時顯示),最後用指令碼來替換這個元素裡面的內容為 Flash。
  可以通過驗證——當然這個不是重點,只是順帶效果罷了。

  四、我的結論

  現階段用 JS 嵌入 Flash 是最完美的方法,雖然這法子這也是由於瀏覽器的種種問題而作出的妥協。
  但它在保證 Flash 功能的前提下還利用 JS 提供了額外的好處,再者又已經有人寫了很完善的嵌入指令碼可以方面地下載使用(推薦 SWFObject),我們還有什麼理由不用它呢?

  SWFObject 那網頁是英文的,這裡寫個簡單的用法教程

  下載它的.js檔案,在這裡: http://blog.deconcept.com/swfobject/swfobject1-4.zip (如果連結失效可能是版本有更新,請用上面給出的地址去首頁下載最新版本)

  在你的 HTML 頁面頭部<head>區嵌入這個指令檔:<script type="text/javascript" src="swfobject.js"></script>

  在你的 HTML 中寫一個用來放 Flash 的容器,比如<div>,並隨便給一個 id 比如 flashcontent。然後在裡面放上你的替換內容。

<div id="flashcontent">
這裡放替換內容,用來在 Flash 無法顯示時顯示。
</div>

 

  使用指令碼替換這個內容:

<script type="text/javascript">
   var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
//參數意思: 地址,Flash 的 id(不是容器的 id),寬,高,版本需求,背景顏色
//這是最基本的,如果你要進階的設定,就仔細翻翻說明吧。
   so.write("flashcontent");
</script>

 

  這個指令碼可以寫在 HTML 中也可以寫在外部 .js 檔案中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.