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