首頁(yè)技術(shù)文章正文

IndexedDB的基本使用:打開(kāi)數(shù)據(jù)庫(kù)

更新時(shí)間:2021-09-30 來(lái)源:黑馬程序員 瀏覽量:

IndexedDB可以通過(guò)網(wǎng)頁(yè)腳本語(yǔ)言來(lái)操作,這是由于瀏覽器中提供了IndexedDB對(duì)象。接下來(lái)介紹通過(guò)IndexedDB API創(chuàng)建數(shù)據(jù)庫(kù)的步驟以及打開(kāi)數(shù)據(jù)庫(kù)。

1.打開(kāi)數(shù)據(jù)庫(kù)
讀者可以使用indexedDB.open()方法打開(kāi)數(shù)據(jù)庫(kù),示例代碼如下:

var openReguest indexedDB.open('demo',1) ;

上述代碼為open(方法傳入了兩個(gè)參數(shù),其中第1個(gè)參數(shù)demo表示數(shù)據(jù)庫(kù)名稱,該參數(shù)是必需的,不能省略:第2個(gè)參數(shù)1表示的是數(shù)據(jù)庫(kù)版本號(hào),該參數(shù)可以省略(如果省略,那么默認(rèn)打開(kāi)的數(shù)據(jù)庫(kù)版本號(hào)是1,反之該參數(shù)設(shè)置的數(shù)據(jù)庫(kù)版本號(hào)必須是一個(gè)大于0的正整數(shù))。這里需要說(shuō)明的是,如果要打開(kāi)的數(shù)據(jù)庫(kù)不存在,那么調(diào)用indexedDB.open()方法時(shí),會(huì)創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)。
調(diào)用indexedDB.open()方法后,有可能觸發(fā)4種事件,如表11-18所示。
1633492661499_IndexedDB的基本使用.png

如果是第一次打開(kāi)數(shù)據(jù)庫(kù),會(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就指向打開(kāi)的IndexeddDB數(shù)據(jù)庫(kù)。





猜你喜歡:

oracle體系結(jié)構(gòu)是由數(shù)據(jù)庫(kù)和什么組成?

怎樣優(yōu)化數(shù)據(jù)庫(kù)查詢?

什么是數(shù)據(jù)庫(kù)技術(shù)?數(shù)據(jù)庫(kù)技術(shù)簡(jiǎn)介

HTML5的input增加哪些type?

黑馬程序員web前端與移動(dòng)開(kāi)發(fā)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!