IDBDatabase.onversionchange - Web API 接口参考 编辑

 IDBDatabase 中的 onversionchange 事件处理器能处理版本更新事件,此事件能在任意地方 (很可能在同一台计算机上的另一个窗口/选项卡中)导致数据库结构更改(IDBOpenDBRequest.onupgradeneeded 事件 或 IDBFactory.deleteDatabase 事件)的时候被触发 。

onversionchange 与 versionchange 是不相同的事件(但两者是有关联的)。

Note: 此特性在 Web Worker 中可用。

语法

IDBDatabase.onversionchange = function(event) { ... }

举例

本例展示了一个创建新对象仓库的 IDBOpenDBRequest.onupgradeneeded 代码块;代码中包含用于处理失败操作的 onerror 和 onabort 函数,以及一个 onversionchange 函数用以在数据库结构被改变时通知用户。

request.onupgradeneeded = function(event) {
  var db = event.target.result;

  db.onerror = function(event) {
    note.innerHTML += '<li>Error opening database.</li>';
  };

  db.onabort = function(event) {
    note.innerHTML += '<li>Database opening aborted!</li>';
  };

  // 给这个数据库创建对象仓库

  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });

  // 定义对象仓库中包含的数据项

  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });

  objectStore.createIndex("notified", "notified", { unique: false });

  note.innerHTML += '<li>Object store created.</li>';

  db.onversionchange = function(event) {
    note.innerHTML += '<li>a database change has occurred; you should refresh this
                       browser window, or close it down and use the other open version of
                       this application, wherever it exists.</li>';
  };
};

格式

格式状态注释
Indexed Database API 2.0
onversionchange
Recommendation 
Indexed Database API Draft
onversionchange
Recommendation 

浏览器兼容性

BCD tables only load in the browser

本页面的兼容性表生成自结构化数据。如果你想对该数据做出贡献, 请查看 https://github.com/mdn/browser-compat-data 并向我们发送请求。

更多参考

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:99 次

字数:5225

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文