亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

HTML最新標準HTML5總結(必看)

2024-08-26 00:18:55
字體:
來源:轉載
供稿:網友

HTML5出來已經很久了,然而由于本人不是搞前端的,只知道有這個東西,具體概念有點模糊(其實就是一系列標準規范啦);因此去年,專門對HTML5做了個簡單的小結,今天正好看到,整理一下放到我的博客,以免丟失。有錯誤請指正,我是前端菜鳥。

先來個目錄,如下:

•什么是HTML5

•HTML5發展歷史

•HTML5詳細介紹

•視頻/音頻 、畫布 & SVG 、可編輯內容 & 拖放、Web存儲、Web Worker 、服務器發送事件、表單增強功能、語義化標記、更多HTML5標準

•HTML5實例分析

•飛翔的小鳥

•柱狀圖

•HTML5發展展望

•參考資源

什么是HTML5

簡單地說,HTML5就是一系列用來制定現代富Web內容的相關技術的總稱。

HTML5 ≈ HTML5核心規范 + CSS 3 + JavaScript;  其中HTML5和CSS主要負責界面,JavaScript負責邏輯處理;

      HTML,HTML5

目的:減少互聯網富應用(RIA )對Flash、Silverpght、Java Applet等的依賴,并且提供更多能有效增強網絡應用的API。

如下圖為典型的RIA(Rich Internet Apppcations)網頁,包含一些圖表,視頻,游戲等:

      HTML,HTML5

HTML5發展歷史

2004年,WHATWG(網頁超文本技術工作小組)提出草案Web Apppcations 1.0,即HTML5的前身;

2007年,W3C同意采納HTML5作為標準,并成立了新的HTML工作團隊;

2014年10月28日,W3C正式發布HTML5.0推薦標準;

2016年底前,計劃發布HTML 5.1;

未來,待HTML5.1公布后,工作組會重復HTML5.1步驟再搞一個新的HTML5.2,繼續完善、豐富功能。

如下表格為HTML 5標準演進歷程:

2012 plan

2012

2013

2014

2015

2016

HTML 5.0

候選版

征求評價

推薦標準

   

HTML 5.1

第一工作草案

 

最后召集

候選版

推薦標準

HTML 5.2

     

第一工作草案

 

Tips:

Q:什么是WHATWG?

A:Mozilla基金會與Opera軟件公司于2004年6月向W3C提交了一份立場文件遭否決, Mozilla、Opera和Apple便自立門戶成立了WHATWG(網頁超文本技術工作小組),同時也提出Web Apppcations 1.0。

Q:HTML5.0與HTML5.1的區別?

A:5.1是5.0的超集,5.0中只包含了穩定特性,5.1中包含了5.0中省略掉的不穩定特性和其他新特性;目的:為了盡快及時完成HTML5,W3C舍棄一些不穩定、有爭議的元素,等到后續的5.1版本再考慮。

HTML5詳細介紹HTML5 視頻 & 音頻

 直到現在,仍然不存在一項旨在網頁上顯示視頻、音頻的標準,大多數通過插件(比如 Flash)來顯示的;

但是,有了HTML5,我們可以不依賴任何插件,簡單的使用video和audio標簽來實現音視頻的播放,如下代碼:

 

XML/HTML Code復制內容到剪貼板

 

<video width="320" height="240" controls="controls">  

  <source src="/i/movie.ogg" type="video/ogg">  

  <source src="/i/movie.mp4" type="video/mp4">  

  Your browser does not support the video tag.   

</video>  

 

XML/HTML Code復制內容到剪貼板

 

<audio controls="controls">  

  <source src="/i/song.ogg" type="audio/ogg">  

  <source src="/i/song.mp3" type="audio/mpeg">  

Your browser does not support the audio element.   

</audio>  

如下,為視頻和音頻的效果圖:

    HTML,HTML5

Tips:
1、HTML5 <video> 、< audio >元素擁有方法、屬性和事件??梢杂胘s動態控制視頻 & 音頻播放暫停等動作;
2、Video 、audio元素允許多個 source 元素。source 元素可以鏈接不同的文件。瀏覽器將使用第一個可識別的格式

 

PS:YouTube默認就是使用HTML5播放器,可以登錄其官網www.youtube.com查看源碼,如下:

HTML,HTML5

HTML5 Canvas & SVG

畫布Canvas

HTML5 的 canvas 元素使用 JavaScript 在網頁上繪制圖像,擁有多種繪制路徑、矩形、圓形、字符以及添加圖像的方法。

XML/HTML Code復制內容到剪貼板

 

<canvas id="myCanvas" width="200" height="100" style="border:1px sopd #c3c3c3;">  

Your browser does not support the canvas element.   

</canvas>  

<script type="text/javascript">  

var c=document.getElementById("myCanvas");   

var ccxt=c.getContext("2d");   

cxt.moveTo(10,10);   

cxt.pneTo(150,50);   

cxt.pneTo(10,50);   

cxt.stroke();   

</script>  

    如下,為效果圖:

    HTML,HTML5

    可伸縮矢量圖形 (Scalable Vector Graphics)

    XML/HTML Code復制內容到剪貼板

     

    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190">  

       <polygon points="100,10 40,180 190,60 10,60 160,180"  

       style="fill:red;stroke:blue;stroke-width:3;fill-rule:evenodd;" />  

    </svg>  

      HTML,HTML5

      Canvas & SVG 的常見應用

      使用canvas和SVG可以實現很多小應用,特別是canvas,如下圖例子:

      HTML,HTML5

      HTML5 可編輯內容 & 拖放

      Contenteditable全局屬性

      Contenteditable可用于實現網頁編輯器,當前很多網頁編輯器都用這個屬性實現,如下圖:

      HTML,HTML5

      Drag 和 drop

      HTML5 的拖放將會把與用戶交互帶向另一個等級,并將會對如何設計用戶交互產生重大影響。

      主要的事件函數:Ondragstart()、Ondragover()、Ondrop();

      如下為一個代碼示例,將一個p拖放到另一個p里:

      JavaScript Code復制內容到剪貼板

       

      <script type="text/javascript">   

      function allowDrop(ev)   

      {   

          ev.preventDefault();   

      }   

      function drag(ev)   

      {   

          ev.dataTransfer.setData("Text",ev.target.id);   

      }   

      function drop(ev)   

      {   

          ev.preventDefault();   

          var data=ev.dataTransfer.getData("Text");   

          ev.target.appendChild(document.getElementById(data));   

      }   

      </script>   

      </head>   

      <body>   

          <p id="p1" ondrop="drop(event)" ondragover="allowDrop(event)">   

              <img src="/i/w3school_logo_black.gif" draggable="true" ondragstart="drag(event)" id="drag1" />   

          </p>   

          <p id="p2" ondrop="drop(event)" ondragover="allowDrop(event)"></p>  

        HTML,HTML5

        HTML5 Web存儲

        在講HTML5 的Web存儲之前,先來說說cookie劣勢,主要有以下三點:

        Cookie會被附加在每個HTTP請求中,無形中增加了流量。

        由于在HTTP請求中的Cookie是明文傳遞的,所以安全性成問題。(除非用HTTPS)

        Cookie的大小限制在4KB左右。對于復雜的存儲需求來說是不夠用的。

        再來看看HTML5 Web存儲的優勢:

        沒有額外的的請求頭部數據

        豐富的方法去設置、讀取、移除數據

        默認5MB存儲限制

        在HTML5中,Web存儲有兩種形式:localStorag、sessionStorage,如下:

        localStorage 

             存儲的數據沒有時間限制;

         

        JavaScript Code復制內容到剪貼板

         

        <script type="text/javascript">   

        localStorage.lastname="Smith";   

        document.write("Last name: " + localStorage.lastname);   

        </script>  

          sessionStorage

          當用戶關閉瀏覽器窗口后,數據會被刪除 

           

          JavaScript Code復制內容到剪貼板

           

          <script type="text/javascript">   

          sessionStorage.lastname="Smith";   

          document.write(sessionStorage.lastname);   

          </script>  

            Tips:
            Cookie是不可或缺的:Cookie的作用是與服務器進行交互,作為HTTP規范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲”數據而生。

            HTML5 Web Workers

            web worker 是運行在后臺的 JavaScript,獨立于其他腳本,不會影響頁面的性能(JS多線程工作解決方案)。

            Web Worker的基本原理就是在當前javascript的主線程中,使用Worker類加載一個javascript文件來開辟一個新的線程,起到互不阻塞執行的效果,并且提供主線程和新線程之間數據交換的接口:postMessage,onmessage。

            優勢:異步執行復雜計算,不影響頁面的展示

             如下為一個求和的代碼示例:

            JavaScript Code復制內容到剪貼板

             

            <script>   

            var w;   

              

            function startWorker() {   

                if (typeof (Worker) !== "undefined") {   

                    if (typeof (w) == "undefined") {   

                       w = new Worker("rs/demo_workers.js");   

                    }   

                    w.onmessage = function(event) {   

                       document.getElementById("result").innerHTML = event.data;   

                    };   

                } else {   

                    document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Workers...";   

                }   

            }   

              

            function stopWorker() {   

                w.terminate();   

            }   

            </script>  

              demo_workers.js文件,其中的postMessage() 方法 ,用于向 HTML 頁面傳回一段消息。

               

              JavaScript Code復制內容到剪貼板

               

              var i=0;   

                

              function timedCount()   

              {   

                  i=i+1;   

                  postMessage(i);   

                  setTimeout("timedCount()",500);   

              }   

                

              timedCount();  

                Tips:

                1.不能跨域加載JS

                2.worker內代碼不能訪問DOM

                HTML 5 服務器發送事件

                傳統的網頁都是瀏覽器向服務器“查詢”數據,但是很多場合,最有效的方式是服務器向瀏覽器“發送”數據。比如,每當收到新的電子郵件,服務器就向瀏覽器發送一個“通知”,這要比瀏覽器按時向服務器查詢(polpng)更有效率。

                HTML5 服務器發送事件(server-sent event)允許網頁獲得來自服務器的更新;

                舉個例子,如下,其中服務器端使用Java的Struts 2框架,會向瀏覽器發送服務器最新的時間數據:

                服務端代碼:

                 

                JavaScript Code復制內容到剪貼板

                 

                pubpc class SSE extends ActionSupport {   

                    private InputStream sseStream;   

                    pubpc InputStream getSseStream() {   

                        return sseStream;   

                    }   

                    pubpc String handleSSE() {   

                        System.out.println("Inside handleSSE() ");   

                        String result = "data: "+new Date().toString() + "/n/n";   

                        sseStream = new ByteArrayInputStream(result.getBytes() );   

                        System.out.println("Exiting handleSSE() ");   

                        return SUCCESS;   

                    }   

                }  

                   

                  JavaScript Code復制內容到剪貼板

                   

                  <action name="handleSSE" class="pichen.java.html5.test.SSE" method="handleSSE">   

                              <result name="success" type="stream">   

                                  <param name="contentType">text/event-stream</param>   

                                  <param name="inputName">sseStream</param>   

                              </result>   

                  </action>  

                    客戶端代碼:

                     

                    JavaScript Code復制內容到剪貼板

                     

                    <p><output id="result">OUTPUT VALUE</output></p>   

                    <script>   

                    (function(global, window, document) {   

                      'use strict';   

                      function main() {   

                        window.addEventpstener('DOMContentLoaded', contentLoaded);   

                      }   

                      function contentLoaded() {   

                        var result = document.getElementById('result');   

                        var stream = new EventSource('handleSSE.action');   

                        stream.onmessage=function(event){   

                            var data = event.data+" by onmessage";   

                            result.value = data;   

                        }   

                      }   

                      main();   

                    })(this, window, window.document);   

                    </script>  

                      HTML 5 表單增強功能

                      新的 Input 類型

                      •–email
                      •–url
                      •–number
                      •–range
                      •–Date pickers (date, month, week, time, datetime, datetime-local)
                      •–search
                      •–color

                      下圖為各個input元素的效果圖:

                      下圖為各個input元素的效果圖:

                      HTML,HTML5

                      HTML5 的新的表單元素

                      –datapst

                      –keygen

                      –output

                      下圖為datapst的示例:

                      HTML,HTML5

                      HTML5 的新的表單屬性

                      –新的 form 屬性:

                      •autocomplete

                      •Novapdate

                      –新的 input 屬性:

                      •autocomplete

                      •autofocus

                      •form

                      •height 和 width

                      •pst

                      •min, max 和 step

                      •multiple

                      •pattern (regexp)

                      •placeholder

                      •Required

                      •form overrides (formaction, formenctype, formmethod, formnovapdate, formtarget)

                      下表為各個瀏覽器對表單屬性的支持情況:

                      Input type

                      IE

                      Firefox

                      Opera

                      Chrome

                      Safari

                      autocomplete

                      8.0

                      3.5

                      9.5

                      3.0

                      4.0

                      autofocus

                      No

                      No

                      10.0

                      3.0

                      4.0

                      form

                      No

                      No

                      9.5

                      No

                      No

                      form overrides

                      No

                      No

                      10.5

                      No

                      No

                      height and width

                      8.0

                      3.5

                      9.5

                      3.0

                      4.0

                      pst

                      No

                      No

                      9.5

                      No

                      No

                      min, max and step

                      No

                      No

                      9.5

                      3.0

                      No

                      multiple

                      No

                      3.5

                      No

                      3.0

                      4.0

                      novapdate

                      No

                      No

                      No

                      No

                      No

                      pattern

                      No

                      No

                      9.5

                      3.0

                      No

                      placeholder

                      No

                      No

                      No

                      3.0

                      3.0

                      required

                      No

                      No

                      9.5

                      3.0

                      No

                      HTML5語義化標記

                      HTML5 可以使用語義化的標簽代替大量的無意義的p標簽。這種語義化的特性不僅提升了網頁的質量和語義,并且減少了以前用于CSS或JS調用的class和id屬性。

                      HTML,HTML5

                      更多HTML 5標準

                      HTML5推薦標準(W3C官網推薦標準)

                      –http://www.w3.org/TR/html5/

                      或者參考w3school

                      HTML5 完整的新標簽

                      –http://www.w3school.com.cn/tags/index.asp

                      HTML 全局屬性

                      –http://www.w3school.com.cn/tags/html_ref_standardattributes.asp

                      全局事件屬性

                      –http://www.w3school.com.cn/tags/html_ref_eventattributes.asp

                      HTML5實例分析飛翔的小鳥

                      基于Phaser(開源的HTML5 2D游戲開發框架),主要需要編寫以下三個函數:

                      Preload函數(執行一次):

                      加載資源(背景、圖片等資源)

                      Create函數(執行一次):

                      給鳥一個向下的重力,不受控制的時候自動下落

                      添加鍵盤空格事件,按下空格時改變小鳥坐標

                      創建墻壁事件,每隔1.5s,出現一排墻壁往左移動(中間隨機隔3塊)

                      Update函數(每幀執行):

                      判斷是否飛出邊界

                      判斷是否碰到墻壁

                      效果圖如下:

                      HTML,HTML5

                      柱狀圖表

                      主要步驟:

                      利用canvas畫出圖形

                      定義鼠標點擊事件(獲取鼠標坐標來區分點擊的目標),$(canvas).on("cpck",mouseCpck); 

                      定義鼠標hover事件(獲取鼠標坐標來區分hover的目標),$(canvas).on("mousemove",mouseMove);

                      效果圖:

                      HTML,HTML5

                      HTML5發展展望

                      當前各大瀏覽器對HTML5支持情況(滿分是555分),http://html5test.com/

                      一句話,無論是桌面還是手機瀏覽器,谷歌對HTML5的支持最全面。

                      HTML,HTML5

                      各大公司行動

                      –谷歌,宣布自動轉換Flash廣告為HTML5版本;chrome瀏覽器

                      –Youtube ,使用HTML 5的播放器;

                      –Amazon,宣布停用所有Flash廣告;

                      –騰訊,微信朋友圈小游戲、賀卡或邀請函; QQ空間H5游戲&helpp;

                      –百度,直達號;

                      –阿里,UC瀏覽器,手機淘寶H5游戲&helpp;

                      HTML,HTML5

                      以上這篇HTML最新標準HTML5總結(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。

                      原文地址:http://www.cnblogs.com/chenpi/archive/2016/06/12/5578011.html


                      注:相關教程知識閱讀請移步到HTML教程頻道。
                      發表評論 共有條評論
                      用戶名: 密碼:
                      驗證碼: 匿名發表
                      亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
                      91精品国产99| 欧美精品一本久久男人的天堂| 亚洲在线一区二区| 欧美午夜片在线免费观看| 国产精品主播视频| 国产精品99免视看9| 尤物精品国产第一福利三区| 国内精品视频在线| 亚洲视频在线播放| 国产精品扒开腿做爽爽爽的视频| 色综合亚洲精品激情狠狠| 亚洲男人天堂古典| 97国产suv精品一区二区62| 伊人久久久久久久久久久| 97超级碰碰人国产在线观看| 日韩成人在线电影网| 18一19gay欧美视频网站| 国产精品视频白浆免费视频| 国色天香2019中文字幕在线观看| 欧美日韩亚洲一区二区| 午夜精品久久久久久99热| 久久av资源网站| 国产91色在线|免| 国产精品午夜一区二区欲梦| 日韩精品视频免费在线观看| 亚洲欧美综合区自拍另类| 亚洲日本aⅴ片在线观看香蕉| 福利视频第一区| 国产精品1234| 亚洲美女av在线| 福利微拍一区二区| 亚洲成人黄色网| 亚洲欧美日本精品| 欧美一级淫片aaaaaaa视频| 欧美激情xxxxx| 国产精品jizz在线观看麻豆| 永久免费毛片在线播放不卡| 青青a在线精品免费观看| 国产欧美久久久久久| 中国日韩欧美久久久久久久久| 欧美视频在线观看 亚洲欧| 91地址最新发布| 亚洲第一福利网| 精品亚洲一区二区三区在线观看| 亚洲天堂免费在线| 亚洲欧洲视频在线| 国产精品久久激情| 一区二区av在线| 国产一区二区三区视频在线观看| 91久久久久久久久| 国产精品激情av在线播放| 国产精品视频不卡| 亚洲欧美变态国产另类| 亚洲国产高清福利视频| 亚洲欧美在线一区| 日韩一区二区av| 精品毛片网大全| 日韩免费av片在线观看| 91精品国产99久久久久久| 日韩av电影免费观看高清| 午夜精品久久久久久久99黑人| 欧美激情久久久久| 一区二区三区日韩在线| 成人av电影天堂| 欧美在线视频a| 国产精品久久久久久婷婷天堂| 亚洲日本欧美日韩高观看| 成人高清视频观看www| 91精品国产综合久久香蕉| 97精品欧美一区二区三区| 国产精品美女www爽爽爽视频| 国产精品∨欧美精品v日韩精品| 日韩在线观看免费全| 亚洲另类欧美自拍| 国产精品自拍网| 91在线观看免费网站| 国产伊人精品在线| 欧美亚洲激情在线| 亚洲影院色在线观看免费| 国产精品免费久久久久久| 欧美日韩午夜视频在线观看| 精品久久久久久久久久久久久久| 97色在线播放视频| 揄拍成人国产精品视频| 日韩在线播放av| 日韩在线欧美在线| 热门国产精品亚洲第一区在线| 亚洲精品资源美女情侣酒店| 日韩网站免费观看| 日本精品久久久久影院| 久久久久日韩精品久久久男男| 91久久久久久国产精品| 日韩精品视频三区| 日韩一区二区精品视频| 国产日韩精品在线观看| 北条麻妃一区二区在线观看| 成人日韩av在线| 精品动漫一区二区| 国产精品久久77777| 日韩中文娱乐网| 亚洲欧洲午夜一线一品| 在线观看精品国产视频| 美女视频久久黄| 黑人狂躁日本妞一区二区三区| 在线观看欧美成人| xvideos亚洲人网站| 91人人爽人人爽人人精88v| 国产成人一区二区在线| 国自产精品手机在线观看视频| 亚洲欧美中文日韩v在线观看| 亚洲第一天堂无码专区| 日韩精品欧美国产精品忘忧草| 日本高清视频一区| 精品欧美aⅴ在线网站| 日韩av第一页| 欧美黄色成人网| 欧美成人免费大片| 91亚洲精华国产精华| 日韩av在线播放资源| 欧美日韩亚洲91| 欧美成人小视频| 色偷偷91综合久久噜噜| 中文字幕日韩电影| 中文字幕日韩精品在线| 日韩免费看的电影电视剧大全| 欧美激情视频三区| 亚洲电影免费观看高清完整版在线观看| 欧美大尺度电影在线观看| 最近2019中文字幕大全第二页| 久久国产精品影视| 亚洲欧美三级在线| 亚洲乱码一区av黑人高潮| 日本sm极度另类视频| 久久精品国产欧美激情| 在线视频一区二区| 国产91精品久久久久久久| 日本久久久久亚洲中字幕| 亚洲天堂一区二区三区| 亚洲91av视频| 欧美大片在线看| 国产精品∨欧美精品v日韩精品| 国产亚洲人成a一在线v站| 在线电影中文日韩| www.日本久久久久com.| 中文字幕日韩专区| 精品福利在线看| 国产九九精品视频| 亚洲18私人小影院| 亚洲欧美在线看| 一区二区av在线| 国产在线观看一区二区三区| 久久久成人精品视频| 欧美亚洲国产日本| 日韩极品精品视频免费观看| 国产91在线高潮白浆在线观看| 国产丝袜一区视频在线观看| 欧美性猛交xxxx免费看| 欧美日韩中文字幕| 欧美中文字幕在线| 亚洲伊人一本大道中文字幕| 亚洲欧美自拍一区| 亚洲欧洲午夜一线一品| 欧美精品精品精品精品免费| 欧美精品激情在线|