1. 程式人生 > WINDOWS開發 >H5新增的API

H5新增的API

本地儲存

sessionStorage、localStorage

File API

H5在DOM中為檔案輸入元素添加了一個files集合,在選擇了一或多個檔案時,files集合中將包含一組File物件,每個File物件對應著一個檔案。每個File物件都有下列只讀屬性:

name: 本地檔案系統的檔名;
size: 檔案的位元組大小;
type:字串,檔案的MIME型別;
lastModifiedDate:字串,檔案上一次被修改的事件(只有chrome實現了這個屬性);

FlieReader

FlieReader型別實現的是一種非同步檔案讀取機制。可以把FileReader想象成XMLHttpRequest,區別只是它讀取的是本地檔案,而不是遠端伺服器。為了讀取檔案中的資料,FileReader提供瞭如下幾個方法: readAsText(file,encoding):方法可以將
Blob
或者File物件轉根據特殊的編碼格式轉化為內容(字串形式);
readAsDataURL(file):可以獲取一段data:base64的字串;
readAsArrayBuffer(file):讀取檔案並將一個包含檔案內容的ArrayBuffer儲存在result屬性中; 由於讀取過程是非同步的,因此FileReader也提供了幾個事件。其中最有用的三個事件是progress、error和load,分別表示是否又讀取了新資料,是否發生了錯誤以及是否讀完了整個檔案。

物件URL

objectURL = URL.createObjectURL(object);

object是用於建立 URL 的 File 物件、Blob 物件或者 MediaSource 物件;

返回值一個指向object的帶hash的url字串,這個URL的生命僅存在於它被建立的這個文件裡;、

可以實現本地的圖片預覽

Web Worker

專用Web Worker提供可一個簡單的方法使的web內容能夠在後臺執行指令碼。一旦worker建立後,它可以向由它的建立者指定的事件監聽函式傳遞訊息,這樣改worker生成的所有任務就都會接收到這個訊息。worker執行緒能夠在不干擾UI的情況下執行任務
建立一個新的worker十分簡單。就是呼叫Worker()建構函式,指定一個要在worker執行緒內執行的指令碼的URI,如果希望能夠收到worker的通知,可以將worker的onmessage屬性設定成一個特定的事件處理函式,如果希望能夠傳送資訊到worker,可以使用postmessage方法。 關於Web Worker,最重要的是要知道它所執行的JavaScript程式碼完全在另一個作用域,與當前網頁中的程式碼不共享作用域。在Web Worker中,同樣有一個全域性物件和其他物件以及方法。但是Web Worker中的程式碼不能訪問DOM,也無法通過任何方式影響頁面的外觀。 Web Worker中的全域性物件是worker物件本身。

history物件

h5中的history物件新增了兩個新方法:history.pushState()和history.replaeState(); 兩種方法都允許我們新增和更新歷史記錄,它們的工作原理相同並且可以新增數量相同的引數。但是pushState()是在history棧中新增一個新的條目,replaceState()是替換當前的記錄值。除了這兩個方法之外,還有popstate 事件可以監聽URL的改變。

cancas和svg