整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML5 標簽兼容性問題

          版本瀏覽器不識別新的語義化標簽。

          上面這些標簽, 都是塊級元素, 沒有任何默認樣式, 容器級標簽, 可以包裹任何東西, 在語義上都比div大, 它們能包裹div, 但是div不能包裹它們。

          新的提綱標簽, IE9開始兼容, IE8還是不能用這些標簽, 移動端中可以正常使用, 因為手機沒有IE。

          解決方案:利用html5shiv.js

          下載地址: https://www.bootcdn.cn/html5shiv/

          HTML5培訓課程參加學習過的,大家應該都很熟悉了,今天我們來討論一下關于瀏覽器的兼容問題。

            1.為什么會出現瀏覽器兼容問題?

            由于各大主流瀏覽器由不同的廠家開發,所用的核心架構和代碼也很難重和,這就為各種莫名其妙的Bug(代碼錯誤)提供了溫床。再加上各大廠商出于自身利益考慮而設置的種種技術壁壘,讓CSS應用起來比想象得要麻煩。瀏覽器的兼容問題是我們必須去克服的。

            2.關于瀏覽器

            1)主流瀏覽器

            Internet Explorer、 Safari、Mozilla Firefox、 Google Chrome、Opera、百度、360、搜狗、傲游

            

            2)最早的瀏覽器 : Mosaic / Netscape Navigator(網景領航者)(1994-2008)簡稱NN

            3)瀏覽器大戰

            第一次瀏覽器大戰發生在上個世紀90年代,微軟發布了它的IE瀏覽器,和網景公司的Netscape Navigator大打出手。

            第二次瀏覽器大戰發生在20世紀。

            

            4)瀏覽器內核及代表作品

            瀏覽器最關鍵的部分就是它的渲染引擎(Rendering Engine),也就是大家平常所說的的“內核”。

            3、主流瀏覽器市場份額

            2013年2月份全球主流瀏覽器市場份額排行榜

            

            2014年11月份全球主流瀏覽器市場份額排行榜

            

            2015年5月份全球主流瀏覽器市場份額排行榜

            

            2016年12----2017年2月

            

            (1)五大瀏覽器內核

            ?Trident (MSHTML)(三叉戟;三叉線;三齒魚叉)

            ?Gecko(壁虎)

            ?Presto (迅速的)

            ?Webkit(Safari內核,Chrome內核原型,它是蘋果公司自己的內核,也是蘋果的Safari瀏覽器使用的內核)

            ?Blink (由Google和Opera Software開發的瀏覽器排版引擎)

            (2)五大瀏覽器內核代表作品

            *Trident:IE、Maxthon(遨游)、騰訊 、Theworld世界之窗、360瀏覽器

            代表作品IE,因為IE捆綁在Windows中,所以占有極高的市場份額,又稱IE內核或是MSHTML,此內核只能應用于windows平臺,且是不開源的。

            *Gecko:代表作品Mozilla Firefox 是開源的,它的最大優勢是跨平臺,能在Microsoft Windows、Linux和MacOS X等主要操作系統上運行。

            *Webkit :代表作品Safari、Chrome , 是一個開源項目。

            *Presto :代表作品Opera ,Presto是由Opera Software開發的瀏覽器排版引擎。它也是世界上公認的渲染速度最快的引擎。

            *Blink :由Google和Opera Software開發的瀏覽器排版引擎,2013年4月發布。

          篇文章主要介紹了HTML5實現音頻和視頻嵌入的方法的相關資料,原生的支持音頻和視頻,為HTML5注入了巨大的發展潛力,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

          簡介

          HTML5未出來之前,在線的音頻和視頻都是借助Flash或者第三方工具實現的,現在HTML5也支持了這方面的功能。在一個支持HTML5的瀏覽器中,不需要安裝任何插件就能播放音頻和視頻。原生的支持音頻和視頻,為HTML5注入了巨大的發展潛力。

          html實現音頻嵌入(傳統方式):這種方式雖然可以實現,但是要瀏覽器支持Flash而且并不能實現控制,所以要實現起來很麻煩。

          <object height="200" width="200" data="2_1.swf" >

          </object>

          <embed src="2_1.mp4" type="">

          那么也就是說HTML5存在一個很大的問題就是兼容性。音頻

          HTML5支持的音頻格式:



          視頻

          視頻格式:



          由上可知,HTML5貌似支持的格式有點少哈,所以當你發現用HTML5放置音頻和視頻不顯示時,應該就是格式不支持的問題。注: MP4有3種編碼,mpg4(xdiv),,mpg4(xvid),avc(h264), 只有h264才是公認的MP4標準編碼(在這也是被坑了,其他格式的只有聲音沒有圖像。)遇到這種問題,就用視頻格式轉換器,轉換一下格式就OK啦。

          音頻實現起來很簡單:這里工具條使用了瀏覽器默認的工具條。

          ?

          1

          2

          3

          <audio src="htmls/1.mp3" controls="controls" loop="loop" preload="auto" >

          你的瀏覽器不支持video元素

          </audio>



          視頻雖然也可以使用瀏覽器默認的,但無法實現私人訂制,所以從學技術的角度講,還是要學習一下自己做工具實現功能(audio也可參照此方法)。

          audioVideo.html

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="UTF-8">

          <title>網頁放置視頻</title>

          <style type="text/css">

          </style>

          <script type="text/javascript" src="js/ControlBar.js"></script>

          </head>

          <body>

          <audio src="htmls/1.mp3" controls="controls" loop="loop" preload="auto" >

          你的瀏覽器不支持video元素

          </audio>

          <video id="myPlayer" width="600" height="400" src="htmls/2_1.mp4" controls="controls" loop="loop" poster="3.jpg">

          你的瀏覽器不支持audio元素

          <!-- MP4有3種編碼,mpg4(xdiv),,mpg4(xvid),avc(h264),

          只有h264才是公認的MP4標準編碼 -->

          </video>

          <div id="progress"></div>

          <!-- 音量控制 -->

          <input id="volume" type="range" min="0" max="1" step="0.1" onchange="Volume(this)">

          <!-- 速率和時間進度的信息 -->

          <span id="rate">1</span>fps <span id="info"></span>

          <button onclick="Play(this)" id="btn1">播放</button>

          <button onclick="Fast()">快進</button>

          <button onclick="Slow()">慢進</button>

          <button onclick="Prev()">后退</button>

          <button onclick="Next()">前進</button>

          <button onclick="Muted(this)">靜音</button>

          </body>

          </html>

          顯示(html)與功能實現(js)分離,由外部導入

          ControlBar.js

          //使用腳本檢測瀏覽器的標簽支持情況

          var support = !!document.createElement("audio").canPlayType;

          if (!support) {

          alert("你的瀏覽器不支持本視頻播放");

          }

          // 定義全局的視頻對象

          var e1 = null;

          window.addEventListener("load", function() {

          e1 = document.getElementById("myPlayer");

          });

          /*前進:一分鐘 */

          function Next() {

          e1.currentTime+=10; //設置屬性currentTime,快進10s

          }

          /*后退:一分鐘 */

          function Prev() {

          e1.currentTime-=10; //設置屬性currentTime,后退10s

          }

          /*播放/暫停*/

          function Play(e) {

          if(e1.paused){

          e1.play();

          document.getElementById("btn1").innerHTML="暫停"

          }else{

          e1.pause();

          document.getElementById("btn1").innerHTML="播放"

          }

          }

          /*慢進:小于等于1時,每次都只減慢0.2的速率;大于1時,每次減1 */

          function Slow(){

          if(e1.playbackRate<=1){

          e1.playbackRate-=0.2;

          }else{

          e1.playbackRate-=1;

          }

          document.getElementById("rate").innerHTML=fps2fps(e1.playbackRate);

          }

          /*慢進:小于等于1時,每次都只減慢0.2的速率;大于1時,每次減1 */

          function Fast(){

          if(e1.playbackRate<1){

          e1.playbackRate+=0.2;

          }else{

          e1.playbackRate+=1;

          }

          document.getElementById("rate").innerHTML=fps2fps(e1.playbackRate);

          }

          function fps2fps(fps){

          if(fps<1){

          return fps.toFixed(1);

          }else{

          return fps;

          }

          }

          /*靜音*/

          function Muted(e){

          if(e1.muted){

          e1.muted=false;

          e.innerHRML="X";

          document.getElementById("volume").value=e1.volume;

          }else{

          e1.muted=true;

          e.innerHRML="x";

          document.getElementById("volume").value=0;

          }

          }

          /*調整音量*/

          function Volume(e){

          if(e1.muted==true){

          e1.muted=false;

          }

          e1.volume=e.value;

          }

          /* 進度信息:控制進度條,并顯示進度時間*/

          function Progress(){

          var p1=document.getElementById("progress");

          p1.style.width=(e1.currentTime/e1.duration)*720+"px";

          document.getElementById("info").innerHTML=s2time(e1.currentTime)+"/"+s2time(e1.duration);

          }

          function s2time(s){

          var m=parseFloat(s/60).toFixed(0);

          s=parseFloat(s%60).toFixed(0);

          return (m<10? "0"+m:m)+":"+(s<10?"0"+s:s);

          }

          /* 網頁加載完畢后,把進度處理函數添加至視頻對象的timeupdate事件中*/

          window.addEventListener("load",function(){

          e1.addEventListener("timeupdate",Progress);

          });

          /*給window.onload事件添加進度處理函數*/

          window.addEventListener("load",Progress);

          實現的功能:播放,暫停,快進,慢進,前進,后退,音量控制,進度條和時間顯示。由此可見通過Audio或Video的屬性和方法可以實現更復雜的功能。


          主站蜘蛛池模板: 无码一区二区三区| 国产成人精品无人区一区 | 午夜无码视频一区二区三区| 国产成人综合一区精品| 成人精品一区二区电影| 丝袜美腿高跟呻吟高潮一区| 久久久国产一区二区三区| 国产AV一区二区三区无码野战 | 中文字幕精品亚洲无线码一区应用 | 91视频一区二区| 午夜福利一区二区三区在线观看 | 自拍日韩亚洲一区在线| 国产91一区二区在线播放不卡| 成人精品视频一区二区| 日韩动漫av在线播放一区| 色屁屁一区二区三区视频国产| 精品久久久中文字幕一区| 日本一道高清一区二区三区| 国产女人乱人伦精品一区二区| 精品女同一区二区| 国产丝袜视频一区二区三区| 久久久久久免费一区二区三区| 精品无码人妻一区二区三区品 | 一区二区视频在线| 国产精品一区二区不卡| 日本一区二区三区日本免费 | 人妻精品无码一区二区三区| 国产aⅴ精品一区二区三区久久| 麻豆视频一区二区三区| 久久精品视频一区二区三区| 欧美人妻一区黄a片| 波多野结衣免费一区视频| 亚洲色精品三区二区一区| 偷拍精品视频一区二区三区| 麻豆AV一区二区三区久久| 人妻无码一区二区三区四区| 无码国产伦一区二区三区视频| 国产乱人伦精品一区二区在线观看| 好吊视频一区二区三区| 亚洲av无码片vr一区二区三区| 国产亚洲一区二区精品|