更新時(shí)間:2021-09-30 來源:黑馬程序員 瀏覽量:
IndexedDB可以通過網(wǎng)頁腳本語言來操作,這是由于瀏覽器中提供了IndexedDB對(duì)象。接下來介紹通過IndexedDB API創(chuàng)建數(shù)據(jù)庫的步驟以及打開數(shù)據(jù)庫。
1.打開數(shù)據(jù)庫
讀者可以使用indexedDB.open()方法打開數(shù)據(jù)庫,示例代碼如下:
var openReguest indexedDB.open('demo',1) ;上述代碼為open(方法傳入了兩個(gè)參數(shù),其中第1個(gè)參數(shù)demo表示數(shù)據(jù)庫名稱,該參數(shù)是必需的,不能省略:第2個(gè)參數(shù)1表示的是數(shù)據(jù)庫版本號(hào),該參數(shù)可以省略(如果省略,那么默認(rèn)打開的數(shù)據(jù)庫版本號(hào)是1,反之該參數(shù)設(shè)置的數(shù)據(jù)庫版本號(hào)必須是一個(gè)大于0的正整數(shù))。這里需要說明的是,如果要打開的數(shù)據(jù)庫不存在,那么調(diào)用indexedDB.open()方法時(shí),會(huì)創(chuàng)建一個(gè)新的數(shù)據(jù)庫。
調(diào)用indexedDB.open()方法后,有可能觸發(fā)4種事件,如表11-18所示。
如果是第一次打開數(shù)據(jù)庫,會(huì)先觸發(fā)upgradeneeded事件,再觸發(fā)onsuccess事件。根據(jù)不同的需要,可以對(duì)不同的事件設(shè)立回調(diào)函數(shù),示例代碼如下。
var openRequest=indexedDB.open('demo,1);
var db;
openRequest.onupgradeneeded=function(e){
console.log('Upgrading...');
openRequest.onsuccess=function(e){
console.log('Success!');
db=e.target.result;
}
openRequest.onerror=function(e){
console.log('Error') ;
console.dir(e);
}在上述代碼中,open方法返回是一個(gè)對(duì)象,(IDBOtenDBequest)事件的回掉函數(shù)定義在該對(duì)象上面?;卣{(diào)函數(shù)接受一個(gè)事件對(duì)象,event作為參數(shù),event的target,result就指向打開的IndexeddDB數(shù)據(jù)庫。
猜你喜歡:
oracle體系結(jié)構(gòu)是由數(shù)據(jù)庫和什么組成?
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19