-
IDBFactory
提供了對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。這是由全局對(duì)象 indexedDB實(shí)現(xiàn)的接口,因而也是該 API 的入口。
| 屬性/方法 | 描述 |
|---|---|
| indexedDB.open(name, [version]) | 請(qǐng)求連接到指定name和version的數(shù)據(jù)庫(kù),如果指定name的數(shù)據(jù)庫(kù)不存在,則利用name和version創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。 |
| indexedDB.deleteDatabase(name) | 請(qǐng)求刪除指定name的數(shù)據(jù)庫(kù)。 |
| indexedDB.cmp(a, b) | 比較兩個(gè)值的大小。a小于b為-1,a與b相等為0,a大于b為1。 |
-
IDBCursor
遍歷對(duì)象存儲(chǔ)空間和索引。
| 屬性/方法 | 描述 |
|---|---|
| cursor.advice(count) | 游標(biāo)向前移動(dòng)的次數(shù)。 |
| cursor.continue(optionalKey) | 繼續(xù)沿著當(dāng)前游標(biāo)遍歷方向,找到下一個(gè)能夠匹配key參數(shù)的鍵。如果沒(méi)有指定參數(shù),則根據(jù)游標(biāo)當(dāng)前遍歷方向,移動(dòng)到下一個(gè)位置。 |
| cursor.delete( ) | 返回一個(gè)IDBRequest對(duì)象。在一個(gè)獨(dú)立線程內(nèi)刪除游標(biāo)所在位置處的記錄(不移動(dòng)游標(biāo)),隨后將游標(biāo)設(shè)置為null。 |
| cursor.update(newValue) | 返回一個(gè)IDBRequest對(duì)象。在一個(gè)獨(dú)立線程內(nèi),使用newValue來(lái)更新對(duì)象存儲(chǔ)內(nèi)游標(biāo)當(dāng)前位置處的值。如果游標(biāo)指向的記錄已被刪除,則利用指定的newValue值創(chuàng)建一個(gè)新的記錄。 |
| cursor.source(只讀) | 返回游標(biāo)遍歷的IDBObjectStore或IDBIndex。 |
| cursor.direction(只讀) | 游標(biāo)遍歷的方向。next: 從數(shù)據(jù)源開(kāi)始位置遍歷。nextunique: 從數(shù)據(jù)源開(kāi)始位置開(kāi)始遍歷,當(dāng)取值又重復(fù)時(shí),只獲取一次。prev: 從數(shù)據(jù)源的最后位置開(kāi)始遍歷。prevunique: 從數(shù)據(jù)源最后位置開(kāi)始遍歷,當(dāng)取值又重復(fù)時(shí),只獲取一次。 |
| cursor.key(只讀) | 返回游標(biāo)所在位置處記錄的鍵。如果游標(biāo)超出范圍,則返回undefined。 |
| cursor.primaryKey(只讀) | 返回游標(biāo)當(dāng)前位置的主鍵。如果游標(biāo)當(dāng)前正在迭代或超出迭代范圍,則設(shè)置為undefined。游標(biāo)的主鍵可以是任何數(shù)據(jù)類型。 |
-
IDBCursorWithValue
遍歷對(duì)象存儲(chǔ)空間和索引并返回游標(biāo)的當(dāng)前值。
| 屬性/方法 | 描述 |
|---|---|
| cursor.value | 返回游標(biāo)當(dāng)前位置的值。 |
-
IDBDatabase
表示到數(shù)據(jù)庫(kù)的連接。只能通過(guò)這個(gè)連接來(lái)拿到一個(gè)數(shù)據(jù)庫(kù)事務(wù)。
| 屬性/方法 | 描述 |
|---|---|
| IDBDatabase.close( ) | 關(guān)閉數(shù)據(jù)庫(kù)。 |
| IDBDatabase.createObjectStore(name, [parameters]) | 構(gòu)建一個(gè)存儲(chǔ)空間。parameters是個(gè)可選對(duì)象,有以下兩個(gè)屬性:{keyPath: "id"} 設(shè)置一個(gè)keyPath鍵,被存儲(chǔ)在對(duì)象存儲(chǔ)空間中的所有對(duì)象都必須存在“id”。{autoIncrement: true} 自動(dòng)生成數(shù)字鍵。 |
| IDBDatabase.deleteObjectStore("toDoList") | 刪除指定name的數(shù)據(jù)存儲(chǔ)空間。 |
| IDBDatabase.transaction(storeName, [mode]) | 立即返回一個(gè)IDBTransaction對(duì)象,然后在一個(gè)獨(dú)立線程內(nèi)開(kāi)啟一個(gè)事務(wù)。第一個(gè)參數(shù)是事務(wù)希望跨越的對(duì)象存儲(chǔ)空間的列表(storeName為字符串?dāng)?shù)組,如果你只需要訪問(wèn)一個(gè)對(duì)象存儲(chǔ)空間,可以用一個(gè)字符串作為storeName)。如果你希望事務(wù)能夠跨越所有的對(duì)象存儲(chǔ)空間你可以傳入一個(gè)空數(shù)組。第二個(gè)參數(shù)定義了事務(wù)的訪問(wèn)類型:readonly(默認(rèn))或者readwrite。 |
| IDBDatabase.name (只讀) | 數(shù)據(jù)庫(kù)的名稱。 |
| IDBDatabase.version(只讀) | 數(shù)據(jù)庫(kù)的版本號(hào)。 |
| IDBDatabase.objectStoreNames(只讀) | 當(dāng)前存儲(chǔ)在連接的數(shù)據(jù)庫(kù)中的對(duì)象名稱的列表.。 |
| IDBDatabase.onabort = function( ) { ... } | 當(dāng)數(shù)據(jù)庫(kù)訪問(wèn)被中止時(shí)觸發(fā)。 |
| IDBDatabase.onerror = function( ) { ... } | 訪問(wèn)數(shù)據(jù)庫(kù)失敗觸發(fā)。 |
| IDBDatabase.onversionchange = function( ) { ... } | 當(dāng)數(shù)據(jù)庫(kù)結(jié)構(gòu)發(fā)生變化時(shí)觸發(fā)。 |
-
IDBEnvironment
提供了到客戶端數(shù)據(jù)庫(kù)的訪問(wèn)。它由 window 對(duì)象實(shí)現(xiàn)。
| 屬性/方法 | 描述 |
|---|---|
| window.indexedDB | 為應(yīng)用程序提供異步訪問(wèn)索引數(shù)據(jù)庫(kù)的功能的機(jī)制。 |
-
IDBIndex
提供了到索引元數(shù)據(jù)的訪問(wèn)。
| 屬性/方法 | 描述 |
|---|---|
| IDBIndex.count( ) | 返回一個(gè)IDBRequest對(duì)象,并在一個(gè)單獨(dú)的線程內(nèi)返回范圍內(nèi)鍵的數(shù)目。 |
| IDBIndex.get(key) | 返回一個(gè)IDBRequest對(duì)象,并且在一個(gè)單獨(dú)的線程,返回與鍵相關(guān)聯(lián)的記錄。 |
|
|
返回一個(gè)IDBRequest對(duì)象,并且在一個(gè)單獨(dú)的線程,返回在索引中的所有對(duì)象。 |
| IDBIndex.getKey(key) | 返回一個(gè)IDBRequest對(duì)象,并且在一個(gè)單獨(dú)的線程,返回主鍵的值。 |
|
|
立即檢索IDBObjectStore內(nèi)的所有對(duì)象的鍵,設(shè)置為result請(qǐng)求的對(duì)象。 |
| IDBIndex.openCursor([range], [direction]) | 返回一個(gè)IDBRequest對(duì)象,然后在一個(gè)獨(dú)立線程內(nèi),在指定鍵范圍內(nèi)創(chuàng)建一個(gè)游標(biāo)。 |
|
|
返回一個(gè)IDBRequest對(duì)象,然后在一個(gè)獨(dú)立線程內(nèi),在指定鍵范圍內(nèi)創(chuàng)建一個(gè)游標(biāo),返回的記錄基于索引排序而非主鍵。 |
| IDBIndex.name(只讀) | 返回該索引的名稱。 |
| IDBIndex.objectStore(只讀) | 此索引引用對(duì)象存儲(chǔ)的名稱 |
| IDBIndex.keyPath(只讀) | 返回keyPath的值。 |
| DBIndex.multiEntry(只讀) | 返回IDBObjectStore.createIndex方法設(shè)置的multiEntry屬性 |
| IDBIndex.unique(只讀) | 返回IDBObjectStore.createIndex方法設(shè)置的unqie屬性 |
-
IDBKeyRange
定義鍵的范圍。
| 屬性/方法 | 描述 |
|---|---|
| IDBKeyRange.bound(lower, upper, [lowerOpen], [upperOpen]) | 創(chuàng)建并返回一個(gè)帶有l(wèi)ower和upper界限的鍵范圍。如果lowerOpen或upperOpen為ture,則這個(gè)范圍不包含界限本身(默認(rèn)為false)。 |
| IDBKeyRange.includes( ) | 返回一個(gè)布爾值,指示指定的鍵是否鍵范圍內(nèi)。 |
| IDBKeyRange.only( ) | 創(chuàng)建一個(gè)包含單個(gè)值的新的鍵范圍。 |
| IDBKeyRange.lowerBound(lower, [lowerOpen]) | 創(chuàng)建一個(gè)下限鍵范圍。lowerOpen如果為true,表示范圍不包括界限本身。 |
| IDBKeyRange.upperBound(upper, [upperOpen] ) | 創(chuàng)建一個(gè)新的上限鍵范圍。lowerOpen如果為true,表示范圍不包括界限本身。 |
| IDBKeyRange.lower(只讀) | 返回下限。 |
| IDBKeyRange.upper(只讀) | 返回上限。 |
| IDBKeyRange.lowerOpen(只讀) | 如果下限值被包括在鍵范圍,則返回false,否則為true。 |
| IDBKeyRange.upperOpen(只讀) | 如果上限值被包括在鍵范圍,則返回false,否則為true。 |
-
*IDBObjectStore *
表示一個(gè)對(duì)象存儲(chǔ)空間。
| 屬性/方法 | 描述 |
|---|---|
| IDBObjectStore.add(value, [key]) | 新增存儲(chǔ)對(duì)象。(第2個(gè)可選參數(shù)用來(lái)指定相關(guān)的key,但是試驗(yàn)幾次均不成功,不知道怎么設(shè)置,也不知道是什么一個(gè)效果。若不指定則為null。貌似不知道也不影響使用,不過(guò)若有懂的還望告知!) |
| IDBObjectStore.clear( ) | 創(chuàng)建并立即返回一個(gè)IDBRequest對(duì)象,并在一個(gè)單獨(dú)的線程清除該對(duì)象存儲(chǔ)。該方法會(huì)清除掉存儲(chǔ)索引中的所有記錄,若只想要?jiǎng)h除某項(xiàng)數(shù)據(jù)可以使用IDBObjectStore.delete()或者設(shè)置IDBKeyRange。 |
| IDBObjectStore.get(key) | 返回一個(gè)IDBRequest對(duì)象,并在一個(gè)單獨(dú)的線程,返回指定鍵所對(duì)應(yīng)的存儲(chǔ)空間。 |
| IDBObjectStore.delete(keyorKeyRange) | 返回一個(gè)IDBRequest對(duì)象,并且在一個(gè)單獨(dú)的線程刪除指定的記錄。 |
|
|
返回一個(gè)IDBRequest對(duì)象,并且在一個(gè)單獨(dú)的線程,返回指定的查詢中選擇的鍵。 |
| IDBObjectStore.getAll([query], [count]) | 返回一個(gè)IDBRequest包含在對(duì)象存儲(chǔ)的所有對(duì)象指定的參數(shù)或在商店中的所有對(duì)象的匹配,如果沒(méi)有給定參數(shù)的對(duì)象。 |
|
|
立即檢索IDBObjectStore內(nèi)的所有對(duì)象的鍵,設(shè)置為result請(qǐng)求的對(duì)象。 |
| IDBObjectStore.createIndex(name, keyPath, [parameters]) | 利用指定的name和keyPath參數(shù),創(chuàng)建并返回一個(gè)新的IDBIndex對(duì)象。該方法只能在versionChange事務(wù)模式回調(diào)中調(diào)用。[parameters]:unique: 如果為true,鍵的值不能重復(fù)。multiEntry: 若為true,當(dāng)keyPath解析為數(shù)組時(shí),每個(gè)數(shù)組元素都會(huì)被添加為索引。若為false,索引就只是一個(gè)包含多個(gè)元素的數(shù)組。 |
| IDBObjectStore.deleteIndex(indexName) | 刪除一個(gè)索引項(xiàng)。該方法只能在versionChange事務(wù)模式回調(diào)中調(diào)用。 |
| IDBObjectStore.index(indexName) | 返回對(duì)象索引中名為indexName的索引。 |
| IDBObjectStore.put(value, [key]) | 返回IDBRequest對(duì)象。更新和插入對(duì)象。 |
| IDBObjectStore.openCursor([range], [direction]) | 返回IDBRequest對(duì)象。然后在一個(gè)獨(dú)立的線程內(nèi),在對(duì)象存儲(chǔ)的記錄上創(chuàng)建一個(gè)游標(biāo)。 |
| IDBObjectStore.openKeyCursor([range], [direction]) | 返回一個(gè)IDBRequest對(duì)象,其結(jié)果將被設(shè)置為IDBCursor可用于通過(guò)匹配結(jié)果進(jìn)行迭代。 |
| IDBObjectStore.count(range) | 返回一個(gè)IDBRequest對(duì)象,并且在一個(gè)單獨(dú)的線程,返回匹配提供的key或者range的記錄的總數(shù)。如果沒(méi)有提供參數(shù),它將返回記錄的總數(shù)。 |
| IDBObjectStore.indexNames(只讀) | 返回存儲(chǔ)空間上的索引名。 |
| IDBObjectStore.keyPath(只讀) | 返回存儲(chǔ)空間上的keyPath。 |
| IDBObjectStore.name | 返回該存儲(chǔ)空間的名稱。 |
| IDBObjectStore.transaction(只讀) | 返回一個(gè)IDBTransaction對(duì)象。返回此對(duì)象存儲(chǔ)所屬的事務(wù)對(duì)象。 |
| IDBObjectStore.autoIncrement(只讀) | 返回autoIncrement在對(duì)象上存儲(chǔ)的值。 |
-
*IDBOpenDBRequest *
表示一個(gè)打開(kāi)數(shù)據(jù)庫(kù)的請(qǐng)求。
| 屬性/方法 | 描述 |
|---|---|
| IDBOpenDBRequest.onblocked = function ( ) { ... } | upgradeneeded事件因?yàn)橐粋€(gè)版本的變化被觸發(fā),但數(shù)據(jù)庫(kù)仍然在使用時(shí)觸發(fā)該事件。 |
| IDBOpenDBRequest.onupgradeneeded = function ( ) { ... } | 在版本發(fā)生變動(dòng)時(shí)會(huì)觸發(fā)upgradeneeded事件。在這里面,我們可以創(chuàng)建和刪除對(duì)象存儲(chǔ)空間以及構(gòu)建和刪除索引。 |
-
IDBRequest
提供了到數(shù)據(jù)庫(kù)異步請(qǐng)求結(jié)果和數(shù)據(jù)庫(kù)的訪問(wèn)。這也是在你調(diào)用一個(gè)異步方法時(shí)所得到的。
| 屬性/方法 | 描述 |
|---|---|
| IDBRequest.result(只讀) | 返回請(qǐng)求的結(jié)果。 |
| IDBRequest.error(只讀) | 在請(qǐng)求不成功的情況下返回錯(cuò)誤。 |
| IDBRequest.source(只讀) | 返回索引或?qū)ο蟠鎯?chǔ)的來(lái)源。 |
| IDBRequest.transaction(只讀) | 返回此對(duì)象存儲(chǔ)所屬的事務(wù)對(duì)象。 |
| IDBRequest.readyState(只讀) | 返回請(qǐng)求的狀態(tài)。pending: 該請(qǐng)求被掛起。done: 請(qǐng)求已經(jīng)完成。 |
| IDBRequest.onerror = function ( ) { ... } | 處理程序錯(cuò)誤事件。 |
| IDBRequest.onsuccess = function ( ) { ... } | 處理程序成功事件。 |
-
IDBTransaction
表示一個(gè)事務(wù)。你在數(shù)據(jù)庫(kù)上創(chuàng)建一個(gè)事務(wù),指定它的范圍(例如你希望訪問(wèn)哪一個(gè)對(duì)象存儲(chǔ)空間),并確定你希望的訪問(wèn)類型(只讀或?qū)懭耄?/p>
| 屬性/方法 | 描述 |
|---|---|
| IDBTransaction.abort | 放棄本次連接的transaction的所有修改,如果當(dāng)前的transaction處于回滾完畢或完成狀態(tài),則會(huì)拋出一個(gè)錯(cuò)誤事件。 |
| IDBTransaction.objectStore(name) | 獲取對(duì)象存儲(chǔ)空間。 |
| IDBTransaction.db(只讀) | 返回與此事務(wù)對(duì)象相關(guān)聯(lián)的數(shù)據(jù)庫(kù)連接。 |
| IDBTransaction.mode(只讀) | 返回?cái)?shù)據(jù)模式。readonly/readwrite/versionChange |
| IDBTransaction.error | 返回一個(gè)錯(cuò)誤。 |
| IDBTransaction.onabort = function() { ... } | 中止事件。 |
| IDBTransaction.oncomplete = function() { ... }; | IDBTransaction接口處理完成時(shí)觸發(fā)。 |
| IDBTransaction.onerror = function() { ... }; | IDBTransaction接口處理錯(cuò)誤事件。 |
-
IDBVersionChangeEvent
表明數(shù)據(jù)庫(kù)的版本號(hào)已經(jīng)改變。
| 屬性/方法 | 描述 |
|---|---|
| IDBVersionChangeEvent.oldVersion | 返回?cái)?shù)據(jù)庫(kù)的舊版本號(hào)。 |
| IDBVersionChangeEvent.newVersion | 返回?cái)?shù)據(jù)庫(kù)的新版本號(hào)。 |
渣渣英語(yǔ)水平,開(kāi)了3個(gè)翻譯工具,花了幾天時(shí)間總算整理完成。能力有限,可能有一些錯(cuò)漏。若有不足,望請(qǐng)指正!