使用HTML5時就應該考慮包含桌面以及行動端的瀏覽器相容問題,特別是影片方面瀏覽器對解碼的支援會有所不同,所以下面就來分享一個HTML5的video標籤的瀏覽器相容性增強方案分享,需要的朋友可以參考下
在過去flash 是網頁上最好的解決視頻的方法,截至到目前還算是主流,像那些優酷之類的視頻網站、蝦米那樣的在線音樂網站,仍然使用flash 來提供播放服務。但這種狀況將會隨著 HTML5 的發展而改變。就影片而言,HTML5 新增了 video 來實現線上播放影片的功能。
使用 HTML5 的 video 可以很方便的使用 JavaScript 對視訊內容進行控制等等,功能十分強大,同時程式碼比較少加快載入速度。另外跨平台性比較好,特別是一些平板、手機等。例如蘋果公司的產品不支援 flash 僅支援 HTML5 中的 video 功能。
但是 HTML5 的兼容性問題是個硬傷,我們可以在網頁中使用 video 來播放視頻,但使用早期瀏覽器的訪問者可能無法正常觀看這個視頻。此外,由於視訊編碼器的歷史淵源導致各種瀏覽器支援的視訊格式不同。處理這些問題,想在網頁中使用 HTML5 video 功能,可以依照下列三個步驟操作。
第一步:事先準備好多格式影片檔案
由於編碼器的版權問題,導致不同瀏覽器對影片格式的相容性不同。目前沒有一個影片格式可以相容於所有瀏覽器,唯一的解決方法就是把影片轉換成多種格式。
首先要準備一個mp4 格式的視頻,可以在蘋果設備中使用;其次要準備ogv 格式的視頻,用在火狐瀏覽器中;最後要準備一下webm 格式的視頻,這個可以用在谷歌瀏覽器等。 webm 是Google提出的,開源、免費,很有可能成為相容所有瀏覽器的影片格式。
準備多格式瀏覽器的麻煩之處在於轉換格式。視訊轉換工具國內的功能比較少,轉換格式可能沒有上面後兩個,而且品質良莠不齊,往往需要註冊才能使用。推薦一個國外的工具 Online converter ,線上免費影片轉換工具。甚至不用安裝軟體,直接選擇相應的目標格式,然後上傳視頻,配置一下參數就可以轉換出來了。沒有合適工具的朋友,可以試試看。
第二步:寫對應 HTML5 video 程式碼
HTML5 中的 video 其實就是一個簡單的標籤,包含了一些影片相關資訊等。下面我直接給出具體程式碼,然後簡單解釋一下:
XML/HTML Code#複製內容到剪貼簿
<video width=”800” height=”374”> <source src=”my_video.mp4” type=”video/mp4” /> <source src=”my_video.ogv” type=”video/ogg” /> <source src=”my_video.webm” type=”video/webm” /> 你浏览器不支持 video 功能,点击这里下载视频: <a href=”video.webm”>下载视频</a>. </video>
video 標籤表示這裡有一個視頻,width、height 屬性分別表示這個視頻內容的寬高(單位像素)。 video 標籤中可以包含 source 標籤,source 標籤用來表示引用的影片和影片的格式、類型。為了確保向下的兼容性,我們還在 video 標籤中加了一句提示,這句話在支援 video 標籤的瀏覽器中是不會顯示的,如果不支援就會顯示出來。這裡,還增加了一個影片的下載地址,如果瀏覽器不支持,可以讓用戶選擇下載下來看。
特別要注意一點,你的主機必須能正確的處理這事些視訊要求。確保你的主機被要求這些影片的時候會在 Content-Type 頭發送正確的 MIME 類型。如果你不清楚,可以諮詢主機服務商,也可以自己加入。如果主機支援.htaccess ,可以在.htaccess 檔案中增加下面語句:
程式碼如下:
AddType video/ogg .ogv AddType video/mp4 .mp4 AddType video/webm .webm
大體就是這樣,比較簡單,更具體的關於video 的使用方法,可以搜尋一下,也可以見本文擴展閱讀鏈接,在這裡不再贅述。
第三步:為舊版瀏覽器做相容
#前面說過,如果瀏覽器不支援video ,將會把video 中的提示內容顯示出來。那麼對付老舊瀏覽器,我們可以用傳統的 flash 來取代這個提示內容。這樣,當瀏覽器不相容 video 標籤的時候,就會顯示出 flash 版本的影片。例如:
XML/HTML Code复制内容到剪贴板 <video width=”800” height=”374”> <source src=”my_video.mp4” type=”video/mp4” /> <source src=”my_video.ogv” type=”video/ogg” /> <object width="800" height="374" type="application/x-shockwave-flash" data="fallback.swf"> <param name="movie" value="fallback.swf" /> <param name="flashvars" value="autostart=true&file=video.flv" /> </object> </video>
直接按照原來正常的 flash 引入方法寫入 video 標籤中即可。這樣,我們就實作了跨瀏覽器相容的 video 功能使用
【相關推薦】
#2. 詳解HTML5展示影片的標準
#3. 簡述
#4. 分析H5網頁中video標籤中的MP4影片無法播放的緣由
#以上是教你如何增強H5中video標籤在瀏覽器中的相容性的詳細內容。更多資訊請關注PHP中文網其他相關文章!