首頁 web前端 H5教程 關於HTML5中video標籤瀏覽器相容性增強的方案分享

關於HTML5中video標籤瀏覽器相容性增強的方案分享

Jun 20, 2018 am 10:24 AM
html5 video 相容 瀏覽器

使用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 其實就是一個簡單的標籤,包含了一些影片相關資訊等。下面我直接給出具體程式碼,然後簡單解釋一下:

<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 功能使用

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

關於H5新屬性audio音訊和video視訊的控制解析

HTML5 video播放器全螢幕(fullScreen)實作的方法

#HTML5 video標籤的播放控制

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

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何通過CSS自定義resize符號並使其與背景色統一? 如何通過CSS自定義resize符號並使其與背景色統一? Apr 05, 2025 pm 02:30 PM

CSS自定義resize符號的方法與背景色統一在日常開發中,我們經常會遇到需要自定義用戶界面細節的情況,比如調...

為什麼在Safari中自定義樣式表能在本地網頁生效,但在百度頁面上卻無法生效? 為什麼在Safari中自定義樣式表能在本地網頁生效,但在百度頁面上卻無法生效? Apr 05, 2025 pm 05:15 PM

在Safari中使用自定義樣式表的問題探討今天我們來探討一個關於Safari瀏覽器的自定義樣式表應用問題。前端新手...

如何在網頁上正確顯示本地安裝的'荊南麥圓體”? 如何在網頁上正確顯示本地安裝的'荊南麥圓體”? Apr 05, 2025 pm 10:33 PM

在網頁中使用本地安裝的字體文件最近,我從網上下載了一種免費字體,並成功將其安裝到了我的系統中。現在...

如何通過JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾? 如何通過JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾? Apr 05, 2025 pm 10:39 PM

如何使用JavaScript或CSS控制瀏覽器打印設置中的頁首和頁尾在瀏覽器的打印設置中,有一個選項可以控制是否顯�...

如何在網頁上使用本地安裝的字體文件? 如何在網頁上使用本地安裝的字體文件? Apr 05, 2025 pm 10:57 PM

如何在網頁上使用本地安裝的字體文件你是否在網頁開發中遇到過這樣的情況:你已經在自己的電腦上安裝了一...

負邊距在某些情況下為何未生效?如何解決這個問題? 負邊距在某些情況下為何未生效?如何解決這個問題? Apr 05, 2025 pm 10:18 PM

負邊距為何在某些情況下未生效?在編程過程中,CSS中的負邊距(negative...

H5指的是什麼?探索上下文 H5指的是什麼?探索上下文 Apr 12, 2025 am 12:03 AM

H5referstoHTML5,apivotaltechnologyinwebdevelopment.1)HTML5introducesnewelementsandAPIsforrich,dynamicwebapplications.2)Itsupportsmultimediawithoutplugins,enhancinguserexperienceacrossdevices.3)SemanticelementsimprovecontentstructureandSEO.4)H5'srespo

Flex佈局下文字超出省略卻撐開容器?如何解決? Flex佈局下文字超出省略卻撐開容器?如何解決? Apr 05, 2025 pm 11:00 PM

Flex佈局下文字超出省略導致容器撐開的問題及解決方法在使用Flex...

See all articles