觸屏版
全國服務(wù)熱線:0571-87205688
登錄
注冊
客戶中心
關(guān)注云客
SWFObject是一個用于在HTML中方便插入Adobe Flash媒體資源(*.swf文件)的獨(dú)立、敏捷的JavaScript模塊。該模塊中的JavaScript腳本能夠自動檢測PC、Mac機(jī)器上各種主流瀏覽器對Flash插件的支持情況。它使得插入Flash媒體資源盡量簡捷、安全。而且它是非常符合搜索引擎優(yōu)化的原則的。此外,它能夠避免您的 HTML、XHTML中出現(xiàn)object、embed等非標(biāo)準(zhǔn)標(biāo)簽,從而更加符合標(biāo)準(zhǔn)。
一、簡介
SWFObject 2.0:
提供兩種優(yōu)化的嵌入Flash Player的方法:一種基于標(biāo)簽的方法和一種依賴于JavaScript的方法。
提供一套JavaScript API,目的是提供一套完整的工具來嵌入SWF
SWFObject
SWFObject
文件和獲得Flash Player的相關(guān)信息。[ http:// code. google. com/p/swfobject/wiki/SWFObject_2_0_api_javascript_dev ]
只利用一個很小的JavaScript文件(size: 8.7Kb, GZIPed: 3.4Kb)。
是SWFObject 1.5[ http:// blog. deconcept. com/swfobject/ ]和UFO [ http://www. bobbyvandersluis. com/ufo/ ]的繼承者。
將最終替代Adobe Flash Player Detection Kit [ http://www. adobe. com/products/flashplayer/download/detection_kit/ ]。
準(zhǔn)備整合所有已存在的Flash Player嵌入方法,并且為嵌入Adobe Flash Player內(nèi)容提供一個新的標(biāo)準(zhǔn)。
是一個由Geoff Stearns、 Michael Williams和 Bobby van der Sluis創(chuàng)建的開源項目,前身是SWFFix [ http://code. google. com/p/swffix/ ]。
二、特點
SWFObject 2.0:
比任何其他的Flash Player嵌入方法更完善更靈活。
為每個人都提供了一種解決方案:無論你是一個HTML、Flash或者JavaScript開發(fā)者,你都能從中發(fā)現(xiàn)適合你的東西。
打破了使用瀏覽器專有標(biāo)簽的惡性循環(huán),促進(jìn)了web標(biāo)準(zhǔn)和替換內(nèi)容(譯者注:alternative content,指Flash內(nèi)容無法正常顯示時需要顯示的內(nèi)容,使用替換內(nèi)容通常是因為Flash插件沒有安裝或者Flash插件版本過低)的使用。
采用分離式的(unobtrusive)JavaScript和最合理的JavaScript實踐。
容易使用。
三、JavaScript
SWFObject 2.0主要使用JavaScript來解決一些僅依靠標(biāo)簽無法解決的問題;它:
通過探測Flash Player的版本,來決定顯示Flash內(nèi)容還是替換內(nèi)容,避免了過時的Flash插件影響Flash內(nèi)容的正常顯示。
提供了恢復(fù)到替換內(nèi)容的功能:當(dāng)Flash內(nèi)容因為過時的Flash Player而無法正常顯示時,SWFObject通過DOM操作用替換內(nèi)容代替Flash內(nèi)容。(注意:如果Flash Player沒有被安裝,HTML object元素會自動被替換內(nèi)容所替代。)
提供了一個選擇來使用Adobe Express Install下載最新版本的Flash Player。
通過使用專有的embed元素的辦法,解決了老版的Webkit引擎會忽略嵌套在object元素中的param元素的問題。(注意:這是唯一一個使用了專有HTML標(biāo)簽的地方,并且在今后的版本中會被逐步淘汰。)
提供了一個詳盡的JavaScript API來完成一些常見的與Flash Player和Flash內(nèi)容相關(guān)的操作。
4 . 我們應(yīng)該使用靜態(tài)發(fā)表還是動態(tài)發(fā)表的方法?
SWFObject提供了兩種不同的方法來嵌入Flash內(nèi)容:
靜態(tài)發(fā)表方法用符合標(biāo)準(zhǔn)的標(biāo)簽來嵌入Flash內(nèi)容和替換內(nèi)容,并且用JavaScript來解決一些僅依靠標(biāo)簽無法解決的問題。
動態(tài)發(fā)表方法基于用標(biāo)準(zhǔn)標(biāo)簽插入替換內(nèi)容,如果瀏覽器安裝了最低版本需求的Flash插件并且擁有足夠的JavaScript支持,SWFObject會用JavaScript將替換內(nèi)容替換成Flash內(nèi)容(與以前版本的SWFObject以及UFO很相似)。
靜態(tài)發(fā)表方法的優(yōu)勢在于:
促進(jìn)了對符合標(biāo)準(zhǔn)標(biāo)簽的創(chuàng)作。(譯者注:不太理解,原文是:The actual authoring of standards compliant markup is promoted.)
插入Flash內(nèi)容的機(jī)制不再依賴于JavaScript,所以你的Flash內(nèi)容能有更多的受眾。
如果你安裝了Flash插件,但是JavaScript被禁用了或者瀏覽器并不支持JavaScript,你仍然能夠看到你的Flash內(nèi)容。
Flash將能夠在那些對JavaScript支持較弱的設(shè)備上運(yùn)行,例如Sony PSP。
像RSS閱讀器這樣的自動化的工具能夠讀取Flash內(nèi)容。
動態(tài)發(fā)表方法的優(yōu)勢在于:
它避免了通過點擊激活的機(jī)制來激活I(lǐng)nternet Explorer 6/7和Opera 9+中的Flash內(nèi)容。值得注意的是微軟正在逐步淘汰IE中的點擊激活機(jī)制[ http://www. swffix. org/devblog/?p=19 ]。(譯者注:Internet Explorer 6/7的點擊激活機(jī)制已經(jīng)在2008/4的更新中被移除)
它能很好的與基于腳本的應(yīng)用整合。
評論(0人參與,0條評論)
發(fā)布評論
最新評論