![《HTML5程序設(shè)計及實踐》課件第7章 HTML5 Web存儲_第1頁](http://file4.renrendoc.com/view12/M01/0D/0A/wKhkGWdf89KAJKjiAAMjYPUn3fM251.jpg)
![《HTML5程序設(shè)計及實踐》課件第7章 HTML5 Web存儲_第2頁](http://file4.renrendoc.com/view12/M01/0D/0A/wKhkGWdf89KAJKjiAAMjYPUn3fM2512.jpg)
![《HTML5程序設(shè)計及實踐》課件第7章 HTML5 Web存儲_第3頁](http://file4.renrendoc.com/view12/M01/0D/0A/wKhkGWdf89KAJKjiAAMjYPUn3fM2513.jpg)
![《HTML5程序設(shè)計及實踐》課件第7章 HTML5 Web存儲_第4頁](http://file4.renrendoc.com/view12/M01/0D/0A/wKhkGWdf89KAJKjiAAMjYPUn3fM2514.jpg)
![《HTML5程序設(shè)計及實踐》課件第7章 HTML5 Web存儲_第5頁](http://file4.renrendoc.com/view12/M01/0D/0A/wKhkGWdf89KAJKjiAAMjYPUn3fM2515.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章HTML5Web存儲目錄Web存儲WebSQLDatabase索引數(shù)據(jù)庫認(rèn)識Web存儲兩種Web存儲方式會話存儲(SessionStorage):它的訪問性上只限于當(dāng)前頁面,并且頁面關(guān)閉后會消失,通過sessionStorage進(jìn)行訪問。本地存儲(LocalStorage):沒有時間限制的數(shù)據(jù)存儲,通過localStorage進(jìn)行訪問。WebStorage和Cookie的異同網(wǎng)絡(luò)傳輸:Cookie會隨著請求發(fā)送到服務(wù)器端,而WebStorage數(shù)據(jù)存在客戶端,不會與服務(wù)器發(fā)交互。存儲限制:Cookie存儲的數(shù)據(jù)大小限制為4KB,而WebStorage能夠提供更大容量的存儲設(shè)計,根據(jù)瀏覽器不同,可以存儲5MB左右的數(shù)據(jù)。數(shù)據(jù)接口:WebStorage提供豐富的數(shù)據(jù)接口,開發(fā)人員可以方便的訪問數(shù)據(jù),而Cookie則需要開發(fā)人員自行開發(fā)接口。存儲空間:WebStorage每個域(包括子域)有獨立的存儲空間,各個存儲空間是完全獨立的,因此不會造成數(shù)據(jù)混亂。Web存儲API函數(shù)名功能length存儲的鍵/值對的數(shù)量key(n)返回存儲的第N個鍵。getItem(key)返回鍵key對應(yīng)的值。如果值不存在,則返回空null。注意,返回的值是一個字符串。如果你存儲的值是整數(shù)或布爾型,你需要類型轉(zhuǎn)換。setItem(key,value)把值插入到key鍵中removeItem(key)移除某個鍵對應(yīng)的值(包含鍵本身)。如果鍵不存在,此方法什么也不做。clear清空存儲的鍵/值數(shù)據(jù)WebSQLDatabaseWebSQLDatabase允許應(yīng)用程序通過一個異步JavaScript接口訪問SQLLite數(shù)據(jù)庫,HTML5的WebSQLDatabaseAPI有三個核心的方法
函數(shù)功能openDatabase()打開數(shù)據(jù)庫或者創(chuàng)建新的數(shù)據(jù)庫transaction()控制事務(wù)的提交和回滾executeSql()執(zhí)行SQL語句WebSQLDatabase打開數(shù)據(jù)庫:使用openDatabase()方法打開數(shù)據(jù)庫,如果該數(shù)據(jù)庫不存在,則創(chuàng)建新的數(shù)據(jù)庫。該方法包含五個參數(shù):數(shù)據(jù)庫名、版本號、描述、數(shù)據(jù)庫大小、回調(diào)函數(shù),其中回調(diào)函數(shù)可以省略。通過事務(wù)執(zhí)行SQL:transaction()方法接收一個方法作為參數(shù),在該方法中執(zhí)行SQL腳本vardb=openDatabase('student','1.0',’StudentInfo',5*1024);vardb=openDatabase('student','1.0','StudentInfo',5*1024);db.transaction(function(tx){ tx.executeSql('CREATETABLEstudentinfo(idINTEGER,nameTEXT)'); tx.executeSql('INSERTINTOstudentinfo(id,name)Values(1,"zhangsan")');});索引數(shù)據(jù)庫WebSQLDatabase已被較新的規(guī)范——索引數(shù)據(jù)庫所取代,目前瀏覽器正在逐步實現(xiàn)對索引數(shù)據(jù)庫的支持。索引數(shù)據(jù)庫以window.indexDB作為入口,但各個瀏覽器增加了前綴,獲取方式一般采用。采用command->request->result的調(diào)用方式,比如打開數(shù)據(jù)庫,返回一個request,在request的result中得到返回的數(shù)據(jù)庫引用。varindexedDB=window.indexedDB||window.webkitIndexedDB||window.mozIndexedDB||window.msIndexedDB;索引數(shù)據(jù)庫打開數(shù)據(jù)庫onupgradeneeded這個回調(diào)函數(shù):當(dāng)數(shù)據(jù)庫發(fā)生改變時調(diào)用。比如,當(dāng)某個數(shù)據(jù)庫不存在需要創(chuàng)建,或者數(shù)據(jù)庫更改時。一般在該回調(diào)函數(shù)內(nèi)創(chuàng)建objectStore,相當(dāng)于數(shù)據(jù)庫中的一張表。varpeopleData=[{name:"JohnDow",email:"john@"},{name:"DonDow",email:"don@"}];vardb;varrequest=indexedDB.open("PeopleDB",1);request.onsuccess=function(evt){db=request.result;};request.onerror=function(evt){console.log("IndexedDBerror:"+evt.target.errorCode);};request.onupgradeneeded=function(evt){varobjectStore=evt.currentTarget.result.createObjectStore("people",{keyPath:"id",autoIncrement:true});objectStore.createIndex("name","name",{unique:false});objectStore.createIndex("email","email",{unique:true});for(iinpeopleData){objectStore.add(peopleData[i]);}};索引數(shù)據(jù)庫插入數(shù)據(jù)//界面控件數(shù)據(jù)獲取varname=document.getElementById('txtName').valuevaremail=document.getElementById('txtEmail').value;//事務(wù)vartransaction=db.transaction("people","readwrite");//對象庫varobjectStore=transaction.objectStore("people");//添加對象
varrequest=objectStore.add({name:name,email:email});request.onsuccess=function(event){
};索引數(shù)據(jù)庫瀏覽數(shù)據(jù)//輸出區(qū)域varoutput=document.getElementById('printOutput');output.textContent="";//事務(wù)vartransaction=db.transaction("people","readwrite");varobjectStore=transaction.objectStore("people");//打開數(shù)據(jù)表varrequest=objectStore.openCursor();request.onsuccess=function(event){varcursor=event.target.result;if(cursor){output.textContent+="id:"+cursor.key+"is"+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華師大版數(shù)學(xué)八年級下冊17.1《變量與函數(shù)》(第2課時)聽評課記錄
- 湘教版數(shù)學(xué)八年級上冊2.3《等腰(邊)三角形的性質(zhì)》聽評課記錄2
- 浙教版數(shù)學(xué)七年級上冊5.4《一元一次方程的應(yīng)用》聽評課記錄
- 人教版地理八年級上冊《土地資源》聽課評課記錄
- 人教版九年級數(shù)學(xué)上冊聽評課記錄本《一元二次方程 四種解法》
- 五年級上冊數(shù)學(xué)口算500題
- 青島版八年級上冊數(shù)學(xué)聽評課記錄《5-1定義與命題》
- 企業(yè)煤氣管道工程安裝合同范本
- 高檔小區(qū)豪華裝修房屋買賣合同范本
- 2025年度企業(yè)內(nèi)部停車位使用及管理協(xié)議模板
- 復(fù)旦中華傳統(tǒng)體育課程講義05木蘭拳基本技術(shù)
- GB/T 13234-2018用能單位節(jié)能量計算方法
- (課件)肝性腦病
- 北師大版五年級上冊數(shù)學(xué)教學(xué)課件第5課時 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請書
- 高考物理二輪專題課件:“配速法”解決擺線問題
- 檢驗科生物安全風(fēng)險評估報告
- 京頤得移動門診產(chǎn)品輸液
- 如何做一名合格的帶教老師PPT精選文檔
- ISO9001-14001-2015內(nèi)部審核檢查表
評論
0/150
提交評論