我正在尝试在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不再支持(?)。
有关我应该如何进行的任何建议?
答案 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中存储数据。