偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

通過一個(gè) IndexedDB 應(yīng)用程序示例了解該工具

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

 

利用 IndexedDB 跟蹤新年計(jì)劃的應(yīng)用程序的部分屏幕截圖

 

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

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

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

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

◆ name:計(jì)劃的名稱

◆ occurrenceId:跟蹤計(jì)劃的活動(dòng)的執(zhí)行頻率

◆ dueDate:計(jì)劃的完成日期

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

◆ categoryId:定義計(jì)劃的活動(dòng)類型

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

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

 

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

 

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

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

 

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

 

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

利用該應(yīng)用程序,我可以添加一個(gè)新計(jì)劃:

 

 

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

 

IDBExplorer 工具的屏幕截圖,顯示值在對(duì)象存儲(chǔ)中的存在方式

 

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

 

 

在您的應(yīng)用程序中使用 IDBExplorer

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

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

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

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

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

當(dāng)計(jì)劃在 Metro 風(fēng)格應(yīng)用程序中承載此功能時(shí),請(qǐng)切記 Metro 風(fēng)格程序是全屏幕運(yùn)行的。因此,您應(yīng)該導(dǎo)航到此 URL,而不是打開一個(gè)新窗口(您將需要向 IDBExplorer.html 文件中添加一個(gè) [Back](返回)按鈕,以便能夠返回您的應(yīng)用程序)。另外,您可以添加一個(gè) 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是扯淡?
責(zé)任編輯:陳貽新 來源: IEBlog
相關(guān)推薦

2022-12-25 18:03:13

Debug原理軟件

2011-11-17 15:17:37

AdobeAIR調(diào)試性能

2011-05-05 18:08:43

云計(jì)算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應(yīng)用程序

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簽名安全性

2010-05-20 09:48:36

2012-02-08 15:06:31

ibmdw

2009-07-29 15:15:31

ASP應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)