JavaScript错误:"未知错误操作不安全。"

时间:2017-11-06 12:55:39

标签: javascript sql

我正在尝试在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不再支持(?)。

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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