首頁  >  文章  >  web前端  >  詳解HTML5的video標籤的瀏覽器相容性增強方案

詳解HTML5的video標籤的瀏覽器相容性增強方案

黄舟
黄舟原創
2017-05-19 17:16:431721瀏覽

使用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 版本的影片。例如:

<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&amp;file=video.flv" />  
</object>  
</video>

直接按照原來正常的 flash 引入方法寫入 video 標籤中即可。這樣,我們就實作了跨瀏覽器相容的 video 功能使用

【相關推薦】

1. 詳解html5的video標籤測試應用程式

2. html 5中使用video元素製作一個影片播放器

#3 . 分享一個video標籤無法播放mp4的問題以及解決方案

4. H5 video標籤只能放聲音不能放影片的解決方案

#5. IIS的MIME未註冊MP4類型,導致無法辨識vidoe標籤的解決方案

以上是詳解HTML5的video標籤的瀏覽器相容性增強方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn