H5新增的API
阿新 • • 發佈:2020-04-29
本地儲存
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):方法可以將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物件本身。