SWFObject(下載:SWFObject1.4)是一個基於Javascript的Flash媒體版本檢測與嵌入模塊,其主要使用目的是讓我們將FLASH嵌入網頁中的操作更簡單,加入了版本檢測功能,符合XHTML的標準驗證的插入,並解除了IE對FLASH點擊激活的限制,對主流瀏覽器兼容。
首先讓我們看一段SWFObject作用的代碼:
程序代碼
//載入SWFObject類庫
//設置一個DIV,並設置ID,這個DIV將做為FLASH插入的容器
播放此動畫需要FlashPlayre8.0+
//利用SWFObject來插入FLASH看了上面的代碼感覺如何?
比起平時用Object來插入FLASH文件是不是簡潔多了,而且代碼結構更清晰,對這段代碼的中文解釋可參看AW對SWFObject的翻譯,已經很詳細了,不再贅述,下面只介紹一下個人認為最實用的功能。
一、版本檢測 難免存在播放器版本過低的用戶,而且他們大多數是低端用戶,對電腦知識瞭解較淺,如果他們看不到我們所指出的FLASH動畫,或者是由於播放器版本不支持新版本中的某些特性,用戶看到的是殘缺的動畫,那麼這就是一個糟糕的用戶體驗,用戶很容易將一切因素都歸咎於產品的開發者。實用SWFObject就可以很好的避免這一麻煩,當它檢測到用戶的播放器版本低於我們設置的版本時,FLASH不會替換DIV容器中的內容,因此我們可以在這裡給用戶提示,例如:「你需要升級FLASH播放器版本至8.0+」。如果條件允許,我們可以在這裡給用戶一個Adobe的FlashPlayer的升級鏈接或者直接提供一個Active安裝包給用戶下載安裝。
二、對FlashVars的支持
程序代碼
so.addVariable("arg1","test1"));so.addVariable("arg2","test2"));
上面兩句代碼將以FlashVars的方式給FLASH的ROOT中添加兩個變量
arg1=test1,arg2=test2,簡潔,方便,同時不用我們再考慮IE和FF的兼容問題。
注意:JS跟FLASH通信是以字符串傳遞的,因此對於Number型變量FLASH端需要做類型轉換。
三、設置FLASH內聯參數
程序代碼
so.addParam("wmode", "transparent");這是我們很熟悉的設置FLASH背景透明的代碼,其他內聯屬性可以嘗試設置一下。
四、獲取URL中的變量對於url?arg1=test1&arg2=test2這樣用GET方式傳遞變量的URL,我們可以用getQueryParamValue方法來獲取變量。
程序代碼
var t1 = getQueryParamValue("arg1");alert(t1);
相關文章:
SWFObject 簡化宣告FLASH的HTML編碼並SEO的寫法。
SEO技巧-如何在Flash(.SWF)加關鍵字