H5新增特性

1. video/audio視頻/音頻

<video> 標(biāo)簽定義視頻,比如電影片段或其他視頻流。

目前,<video> 元素支持三種視頻格式:MP4、WebM、Ogg。

語法:<video src=”” controls autoplay loop></video>

Controls 向用戶顯示控件,比如播放按鈕

Autoplay 自動播放

Loop循環(huán)播放

  • <audio> 標(biāo)簽定義聲音,比如音樂或其他音頻流。

目前,<audio> 元素支持的3種文件格式:MP3、Wav、Ogg。

語法:<audio src=”” controls autoplay loop></audio>

2. canvas 繪畫

canvas就像一塊幕布,然后通過JavaScript動態(tài)地在這個區(qū)域中繪制圖形;它允許我們繪制直線、圓、矩形等基本形狀,以及圖像和文字

3. geolocation 定位

用于定位用戶的位置

地理位置 API 通過navigator.geolotion提供。

獲取當(dāng)前定位getCurrentPosition()方法用來獲取設(shè)備當(dāng)前位置。

這會異步地請求獲取用戶位置,并查詢定位硬件來獲取最新信息。當(dāng)定位被確定后,定義的回調(diào)函數(shù)就會被執(zhí)行。

navigator.geolocation.getCurrentPosition(function(position) { do_something(position.coords.latitude, position.coords.longitude); });

監(jiān)視定位getCurrentPosition() 用于注冊監(jiān)聽器,在設(shè)備的地理位置發(fā)生改變的時候自動被調(diào)用。也可以選擇特定的錯誤處理函數(shù)。")

使用該函數(shù)不需要先調(diào)用getCurrentPosition() 它與 getCurrentPosition() 接受相同的參數(shù),但回調(diào)函數(shù)會被調(diào)用多次。

var watchID = navigator.geolocation.watchPosition(function(position) { do_something(position.coords.latitude, position.coords.longitude); });

  1. WebSocket前后端雙向通訊

WebSocket是一種網(wǎng)絡(luò)通信協(xié)議, 一種由HTML5 開始提供的、在單個 TCP 連接上進(jìn)行全雙工通訊的協(xié)議。它和HTTP協(xié)議的最大區(qū)別在于:HTTP 協(xié)議是一種無狀態(tài)的、無連接的、單向的應(yīng)用層協(xié)議當(dāng)客戶端想要知道服務(wù)端的變化時,HTTP協(xié)議必須使用“輪詢”的方式,效率很低;而WebSocket只需一次連接,便可以讓服務(wù)端直接向客戶端推送信息,從而告別輪詢。

Node環(huán)境下運行,需要下載ws模塊

5.localStorage / sessionStorage代替cookie本地存儲

localStorage: 方法存儲的數(shù)據(jù)沒有時間限制。

sessionStorage: 方法針對一個 session 進(jìn)行數(shù)據(jù)存儲。當(dāng)用戶關(guān)閉瀏覽器窗口后,數(shù)據(jù)會被刪除。

localStoragesessionStorage也可存儲Json對象,存儲時,通過JSON.stringify()將對象轉(zhuǎn)換為文本格式;讀取時,通過JSON.parse()將文本轉(zhuǎn)換回對象。

都是保存在瀏覽器端、且同源的

Cookie只能存儲4k左右,localstoragesessionstroage可以達(dá)到5M或更大

sessionStorage不在不同的瀏覽器窗口中共享,即使是同一個頁面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的

6. 文件拖拽

File: 代表一個文件對象
FileList: 代表一個文件列表,類數(shù)組對象FileReader 用于從文件中提取內(nèi)容FileWrite 用于向文件中寫入類容

ondragover事件在可拖動元素或選取的文本正在拖動到放置目標(biāo)時觸發(fā)。

7. WebWorker js多線程,提高性能

Web Worker 是HTML5標(biāo)準(zhǔn)的一部分,這一規(guī)范定義了一套API,它允許一段JavaScript程序運行在主線程之外的另外一個線程中。工作線程允許開發(fā)人員編寫能夠長時間運行而不被用戶所中斷的后臺程序, 去執(zhí)行事務(wù)或者邏輯,并同時保證頁面對用戶的及時響應(yīng),可以將一些大量計算的代碼交給web worker運行而不凍結(jié)用戶界面。

8. manifest 離線緩存

能夠讓你的Web應(yīng)用程序指定哪些文件可以緩存在本地,使得你的網(wǎng)絡(luò)斷開時依然可以通過本地的緩存來進(jìn)行訪問瀏覽。

因為manifest文件必須是一個MIME type為text/cache-manifest類型的存在。文件后綴名可以自定義(建議為.appcache)所以我們需要現(xiàn)在服務(wù)端將.appcache后綴的文件類型聲明為text/cache-manifest。以apache為例,我們需要在httpd.conf中加上:AddType text/cache-manifest .appcache

9. 語義化標(biāo)簽:header footer section nav aside article

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.繪圖 canvas 2媒體資源 video audio source 3語義化標(biāo)簽 好處是利于搜索引擎的抓取 ...
    Viola1003閱讀 790評論 0 0
  • 1、畫布 -- 非常重要,H5能夠展現(xiàn)優(yōu)秀圖表的源泉 I、定義畫布元素 II、js繪制圖像 a、獲取元素 getE...
    軒居晨風(fēng)閱讀 1,195評論 0 4
  • 前言 認(rèn)識HTML5 之前學(xué)的是HTML4或者HTML4.1; 網(wǎng)頁開發(fā): html:結(jié)構(gòu) 4.0 Css:樣式...
    magic_pill閱讀 489評論 0 2
  • 新增的元素 html5新增了一些語義化更好的標(biāo)簽元素。 結(jié)構(gòu)元素 article元素,表示頁面中的一塊與上下文不相...
    dxxwdong閱讀 476評論 0 2
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化,入門級到專家級,廣度和深度都會有所增加。 題目類型: 理論知...
    怡寶丶閱讀 2,678評論 0 7

友情鏈接更多精彩內(nèi)容