JavaScript 错误:"Unknown error The operation is insecure.."



我正在尝试在 Safari 11 中使用本地数据库 API,但得到:

未知错误 操作不安全...

这曾经对我有用,但现在不再有用了。

代码如下:

testDB = {};
function initDatabase() {
  try {
    if (!window.openDatabase) {
      alert("Databases are not supported in this browser.");
    } else {
      var shortName = 'testDB';
      var version = '1.0';
      var displayName = 'Test Database';
      var maxSize = 100000; //  bytes
      console.log('openDatabase');
      testDB = openDatabase(shortName, version, displayName, maxSize);
    }
  } catch (e) {
    if (e == 2) {
      // Version number mismatch.
      console.log("Invalid database version.");
    } else {
      console.log("Unknown error " + e.message + ".");
    }
    return;
  }
}
initDatabase();

我在 Firefox 中尝试过这个,但似乎不再支持数据库 API。

关于我应该如何进行的任何建议?

似乎 Web Sql 标准不再由 W3C 维护,现在 Firefox 和其他浏览器不再支持它。查看此链接以获取更多信息

https://www.w3.org/TR/webdatabase/

https://hacks.mozilla.org/2010/06/beyond-html5-database-apis-and-the-road-to-indexeddb/

WebSql 已被弃用,这就是浏览器删除支持的原因。您应该迁移到 indexeddb。如果您希望在indexeddb中使用现有的sql查询,并且不想处理indexeddb的复杂性 - 则应使用JsStore。它提供了类似sql的api,用于在indexeddb中存储数据。

相关内容

最新更新