aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api
diff options
context:
space:
mode:
authorzhenfeng Yang <yangzhenfeng1994@gmail.com>2021-07-27 14:12:38 +0800
committerIrvin <irvinfly@gmail.com>2021-07-29 16:22:21 +0800
commit355c0764368a6a31711d71beafa845fa333823b0 (patch)
tree25b7a154850e78498e6997f61c94d0805707364c /files/zh-cn/web/api
parent254120864e9ff0c3c0cc5ce395e6520df61e7d4a (diff)
downloadtranslated-content-355c0764368a6a31711d71beafa845fa333823b0.tar.gz
translated-content-355c0764368a6a31711d71beafa845fa333823b0.tar.bz2
translated-content-355c0764368a6a31711d71beafa845fa333823b0.zip
Update index.html
readonly, not readyonly
Diffstat (limited to 'files/zh-cn/web/api')
-rw-r--r--files/zh-cn/web/api/indexeddb_api/using_indexeddb/index.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/files/zh-cn/web/api/indexeddb_api/using_indexeddb/index.html b/files/zh-cn/web/api/indexeddb_api/using_indexeddb/index.html
index 863c4a3ad1..49945bd852 100644
--- a/files/zh-cn/web/api/indexeddb_api/using_indexeddb/index.html
+++ b/files/zh-cn/web/api/indexeddb_api/using_indexeddb/index.html
@@ -274,7 +274,7 @@ request.onupgradeneeded = function (event) {
<p>想要修改数据库模式或结构——包括新建或删除对象仓库或索引,只能在 <code>versionchange</code> 事务中才能实现。该事务由一个指定了 version 的 {{domxref("IDBFactory.open")}} 方法启动。(在仍未实现最新标准的 WebKit 浏览器 ,{{domxref("IDBFactory.open")}} 方法只接受一个参数,即数据库的 <code>name</code>,这样你必须调用 {{domxref("IDBVersionChangeRequest.setVersion")}} 来建立 <code>versionchange</code> 事务。</p>
-<p>使用 <code>readonly</code> 或 <code>readwrite</code> 模式都可以从已存在的对象仓库里读取记录。但只有在 <code>readwrite</code> 事务中才能修改对象仓库。你需要使用 {{domxref("IDBDatabase.transaction")}} 启动一个事务。该方法接受两个参数:<code>storeNames</code> (作用域,一个你想访问的对象仓库的数组),事务模式 <code>mode</code>(readonly 或 readwrite)。该方法返回一个包含 {{domxref("IDBIndex.objectStore")}} 方法的事务对象,使用 {{domxref("IDBIndex.objectStore")}} 你可以访问你的对象仓库。未指定 <code>mode</code> 时,默认为 <code>readyonly</code> 模式。</p>
+<p>使用 <code>readonly</code> 或 <code>readwrite</code> 模式都可以从已存在的对象仓库里读取记录。但只有在 <code>readwrite</code> 事务中才能修改对象仓库。你需要使用 {{domxref("IDBDatabase.transaction")}} 启动一个事务。该方法接受两个参数:<code>storeNames</code> (作用域,一个你想访问的对象仓库的数组),事务模式 <code>mode</code>(readonly 或 readwrite)。该方法返回一个包含 {{domxref("IDBIndex.objectStore")}} 方法的事务对象,使用 {{domxref("IDBIndex.objectStore")}} 你可以访问你的对象仓库。未指定 <code>mode</code> 时,默认为 <code>readonly</code> 模式。</p>
<div class="blockIndicator note">
<p>从 Firfox 40 起,IndexedDB 事务放松了对持久性的保证以提高性能(参见 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1112702" rel="noopener">Bug1112702</a>)以前在 <code>readwrite</code> 事务中,只有当所有的数据确保被写入磁盘时才会触发 {{domxref("IDBTransaction.oncomplete")}}。在 Firefox 40+ 中,当操作系统被告知去写入数据后 <code>complete</code> 事件便被触发,但此时数据可能还没有真正的写入磁盘。<code>complete</code> 事件触发因此变得更快,但这样会有极小的机会发生以下情况:如果操作系统崩溃或在数据被写入磁盘前断电,那么整个事务都将丢失。由于这种灾难事件是罕见的,大多数使用者并不需要过分担心。如果由于某些原因你必须确保数据的持久性(例如你要保存一个无法再次计算的关键数据),你可以使用实验性(非标准的)<code>readwriteflush</code> 模式来创建事务以强制 <code>complete</code> 事件在数据写入磁盘后触发(查看 {{domxref("IDBDatabase.transaction")}})。</p>