|
一、Drag & Drop API 1.創(chuàng)建拖放事件監(jiān)聽程序時,一定要阻止默認行為,尤其是在dragover事件中一定要執(zhí)行preventDefault(),否則drop事件不會出發(fā),同時dropEffect也不會生效。 2.dataTransfer接口: dataTransfer.effectAllowed[=value] dataTransfer.dropEffect[=value] dataTransfer.setDragImage(element,x,y) dataTransfer.setData(format,data):format有兩種格式:text/plain,text/uri-list dataTransfer.getData(format) dataTransfer.clearData([format]) dataTransfer.items:返回關于拖拽數(shù)據(jù)的DataTransferItemList對象。 dataTransfer.addElement(element)將元素添加到被拖拽的列表里。如果想要讓某個元素跟隨被拖拽元素一同被拖拽,可使用該方法。 dataTransfer.types:返回再dragStart事件觸發(fā)時為元素存儲數(shù)據(jù)的格式。如果是系統(tǒng)文件的拖拽,則返回files。 dataTransfer.files:如果是拖拽系統(tǒng)文件,返回正在被拖拽的文件列表對象??梢酝ㄟ^它獲得所拖拽的文件數(shù)據(jù)。 二、History API 1.解決了傳統(tǒng)AJAX回傳無法記錄頁面狀態(tài)的問題,使得即可用JS來局部刷新頁面,同時又可以更新地址欄和瀏覽器歷史記錄。 2.原有的history對象方法:back(),forward(),go(),length:當前頁面歷史記錄的條數(shù). 3.HTML5 API對象在原對象的基礎上添加了兩個新方法: pushState(state對象,標題,目標URL):用于向history對象添加當前頁面的記錄,并且改變?yōu)g覽器地址欄的URL。 replaceState():類似于pushState(),只是將當前頁面狀態(tài)替換為新的狀態(tài)。 三、Communication API 1.XMLHttpRequest Level 2是XMLHttpRequest的改進和升級,它主要包括: 跨源XMLHttpRequest請求; 進度事件:事件名稱:loadstart,progress,abort,error,load,loadend。 2.跨文檔消息通信 postMessage API; 服務器端推送事件; 管道消息傳送(尚未成為正式標準); 四、Notification API 1.window.webkitNotifications可用來檢測瀏覽器是否之詞Notification API; 2.webkitNotifications.checkPermission()判斷當前Notification的許可狀態(tài)(0表示允許,1表示未作許可授權,2表示拒絕); 3.webkitNotifications.requestPermission():用于檢查是否授權桌面提醒; 4.利用webkitNotifications.createNotification(icon,title,body) 和 webkitNotifications.createHTMLNotification(icon,title,body)方法的返回對象方法show()、cancel()實現(xiàn)桌面提醒的顯示與撤銷; 五、Canvas API 六、通用Base64方法及應用 1.編碼:window.btoa('string'),解碼:window.atob(''); 2.圖形數(shù)據(jù)方面的應用:圖片文件——二進制數(shù)據(jù)——Base64字符串;Base64字符串——二進制數(shù)據(jù)——圖片文件 3.音頻文件方面的應用,數(shù)據(jù)加密方面的應用。 七、Web Database API 1.Web SQL標準已經(jīng)在2010年停止更新,即廢棄,原因是:SQLite本身并不是一個被廣泛接受的標準(提供的方法有:openDatabase(),transaction(),executeSql(),其中execute()函數(shù)執(zhí)行后,產(chǎn)生一個SQLResultSet參數(shù)對象,該參數(shù)對象有insertId,rowsAffected,rows屬性)。 2.IndexedDB API,基于對象的數(shù)據(jù)存儲,NoSQL時代的產(chǎn)物,比較著名的NoSQL數(shù)據(jù)庫有Redis和MongoDB等。 3.兼容性判斷:webkit瀏覽器('webkitIndexedDB' in window) 火狐('moz_indexdDB' in window); 4.調(diào)用:var myDB = window.webkitIndexedDB.open("MyDB","MyDataBase"); 查看數(shù)據(jù)庫屬性及方法:console.log(myDB); 八、File API 1.File API包含以下對象:FileList接口,Blob接口,F(xiàn)ile接口,F(xiàn)ileReader接口,F(xiàn)ileError接口,F(xiàn)ileException接口。FileAPI定義的接口用來讀取文件以及操作大對象數(shù)據(jù)和文件訪問帶來的錯誤。 2.FileWriter API主要用于從Web應用來寫文件,這個API主要包括以下接口:blobBuilder接口,fileSaver接口,fileWriter接口,fileWriterSync接口。 九、Canvas API 1.基于Canvas的繪圖要依賴畫面提供的渲染上下文,所有的繪圖命令和屬性都定義在渲染上下文當中。當使用Canvas的getContext("2D")方法時,其返回的是CanvasRenderingContext2D對象,其內(nèi)部表現(xiàn)為笛卡爾平面坐標,并且左上角坐標為(0,0). |
|
|