自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

調(diào)試IndexedDB應用程序

數(shù)據(jù)庫 其他數(shù)據(jù)庫
IndexedDB是一種W3C工作草案,令JavaScript開發(fā)人員可以存儲、搜索并檢索用戶本地客戶端上的數(shù)據(jù),即便未啟用 Internet連接的情況下也可以。本博文介紹 IDBExplorer,我們在內(nèi)部利用該工具調(diào)試IndexedDB應用程序。利用 IDBExplorer,您可以查看數(shù)據(jù)庫架構(gòu)、對象存儲內(nèi)容和索引詳細信息。

IndexedDB 是一種W3C 工作草案,令 JavaScript 開發(fā)人員可以存儲、搜索并檢索用戶本地客戶端上的數(shù)據(jù),即便未啟用 Internet 連接的情況下也可以。本博文介紹 IDBExplorer,我們在內(nèi)部利用該工具調(diào)試 IndexedDB 應用程序。利用 IDBExplorer,您可以查看數(shù)據(jù)庫架構(gòu)、對象存儲內(nèi)容和索引詳細信息。

通過一個 IndexedDB 應用程序示例了解該工具

為了更好地演示說明,我使用 IndexedDB 創(chuàng)建了一個應用程序,用于跟蹤我的新年計劃。它在本地存儲并訪問我的計劃(在系統(tǒng)上瀏覽網(wǎng)頁),并允許我添加或編輯計劃。[Done That](完成)按鈕會將選定的計劃從列表中移除,并從數(shù)據(jù)庫中移除其內(nèi)部表現(xiàn)形式。

 

利用 IndexedDB 跟蹤新年計劃的應用程序的部分屏幕截圖

 

IndexedDB 將某個數(shù)據(jù)庫定義為信息的容器。每個數(shù)據(jù)庫均包含對象存儲,用作 JavaScript 對象的存儲庫。每個對象均包含可以利用 API 進行查詢的特性。如果您對關系數(shù)據(jù)庫熟悉,對象存儲可以等同于表,對象存儲中的每個 JavaScript 對象表示一個記錄。不過,IndexedDB 對象存儲中存儲的對象都被視為不透明實體。另外,這些對象都無需包含相同的屬性。

如果JavaScript 對象與關系數(shù)據(jù)庫記錄相似,則該對象的屬性可以被認為是表中的列(或字段)。結(jié)果,IndexedDB 允許您定義標識對象屬性的索引,用于在對象存儲中搜索記錄。因此,索引允許您使用 JavaScript 對象的特性值遍歷并搜索 IndexedDB 數(shù)據(jù)。

IndexedDB 允許每個域具有多個數(shù)據(jù)庫。此示例使用一個數(shù)據(jù)庫:“NewYear”。該應用程序在 NewYear 數(shù)據(jù)庫中名為“Resolutions”的對象存儲中存儲我的計劃。每個計劃都是具有以下特性的 JavaScript 對象:

◆ priorityId:將計劃分成不同的優(yōu)先級

◆ name:計劃的名稱

◆ occurrenceId:跟蹤計劃的活動的執(zhí)行頻率

◆ dueDate:計劃的完成日期

◆ createdDate:計劃添加到對象存儲的內(nèi)部日期

◆ categoryId:定義計劃的活動類型

請注意,并不是所有特性在應用程序的 UI 中都是可見的。在某些情況下,他們僅供內(nèi)部使用(如 createdDate)。

下面是 IDBExplorer 工具顯示“Resolutions”對象存儲的內(nèi)容的方式:

 

IDBExplorer 工具的部分屏幕截圖,顯示“Resolutions”對象存儲的內(nèi)容

 

“Resolutions”對象存儲還包含名為“priorityId”的 priorityId 特性的索引,利用該索引應用程序可以使用priorityId 屬性查詢對象。每個 priorityId 值的描述位于“Priorities”對象存儲內(nèi),occurrenceId 值的描述位于“Occurrences”對象存儲內(nèi)。類似地,categoryId 值的描述位于“Categories”對象存儲內(nèi)。

該工具使用一個樹層次結(jié)構(gòu)來說明上述關系:

 

IDBExplorer 工具的屏幕截圖,顯示數(shù)據(jù)庫中有五個計劃

 

IDBExplorer 工具顯示數(shù)據(jù)庫中有五個計劃(兩個高優(yōu)先級任務,兩個中優(yōu)先級任務和一個低優(yōu)先級任務)。

利用該應用程序,我可以添加一個新計劃:

 

 

該應用程序利用光標從 Occurrence、Priority 和 Category 字段的各自對象存儲中檢索這些字段的值,并將這些值顯示給用戶。IDBExplorer 工具允許您查看這些值在對象存儲中存在的方式。例如,選擇 Categories 對象存儲會顯示可用的類別及其描述:

 

IDBExplorer 工具的屏幕截圖,顯示值在對象存儲中的存在方式

 

您可以在“WorkOn”屏幕中選擇某個計劃,并選擇 [Edit](編輯),對該計劃進行更新。進行任意更改后,選擇 [Update](更新)按鈕將提交這些更改,并在“Resolutions”對象存儲中更新這些值。

 

 

在您的應用程序中使用 IDBExplorer

您可以在您的 Metro 風格應用程序或網(wǎng)站中包括 IDBExplorer 工具。不過,我們建議您不要在您的應用程序中部署該工具。

要將該工具添加到您的網(wǎng)站,請將 IDBExplorer 軟件包的內(nèi)容復制并解壓到您的網(wǎng)站。您的應用程序需要利用 iframe 元素或一個新窗口鏈接到 IDBExplorer 文件夾內(nèi)包含的 IDBExplorer.html 文件。

在我們的示例中,我們決定在 iframe 元素內(nèi)承載 IDBExplorer。.不過,對于常規(guī)開發(fā),我們建議在一個新窗口內(nèi)承載此 URI。當您調(diào)試數(shù)據(jù)庫和應用程序時,不會影響您網(wǎng)站的用戶界面,實現(xiàn)了并行的用戶體驗。

當承載 IDBExplorer 時,您需要使用查詢字符串傳遞數(shù)據(jù)庫名稱。在此示例中,是通過利用 iframe 元素的 src 特性來實現(xiàn)的:

  1. <iframe id="debuggerId" class="debuggerContainer" src="IDBExplorer/IDBExplorer.html?name=NewYear"></iframe> 

當計劃在 Metro 風格應用程序中承載此功能時,請切記 Metro 風格程序是全屏幕運行的。因此,您應該導航到此 URL,而不是打開一個新窗口(您將需要向 IDBExplorer.html 文件中添加一個 [Back](返回)按鈕,以便能夠返回您的應用程序)。另外,您可以添加一個 iframe 元素并在該元素中顯示該工具。

原文:http://blogs.msdn.com/b/ie_cn/archive/2012/02/01/indexeddb.aspx

【編輯推薦】

  1. NoSQL生態(tài)系統(tǒng)
  2. 淺析Oracle NoSQL Database
  3. 為什么說很多NoSQL的Benchmark是扯淡?
  4. 解讀NoSQL數(shù)據(jù)庫的四大家族
  5. 為什么說很多NoSQL的Benchmark是扯淡?
責任編輯:陳貽新 來源: IEBlog
相關推薦

2022-12-25 18:03:13

Debug原理軟件

2011-11-17 15:17:37

AdobeAIR調(diào)試性能

2011-05-05 18:08:43

云計算Windows AzuPaaS

2010-11-25 10:05:22

Visual StudSilverlightWCF

2010-04-01 15:10:06

Visual Stud

2011-06-21 11:10:28

Qt Embedded

2010-03-26 13:12:27

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

2011-08-22 09:59:16

2011-03-22 09:45:56

Windows AzuSilverlight

2011-03-22 10:03:55

Windows AzuSilverlight

2009-07-16 17:09:02

Swing應用程序

2011-07-21 10:47:37

iPhone Cocoa 委托

2010-12-01 15:28:19

ProbeVueJava

2013-11-19 15:35:01

2011-11-03 09:41:35

Android簽名安全性

2011-08-08 13:35:50

Web應用WANWeb應用程序

2010-05-20 09:48:36

2012-02-08 15:06:31

ibmdw
點贊
收藏

51CTO技術棧公眾號