我写了一个Chrome扩展程序来记录我在各种搜索引擎中执行的搜索。直到几天前,它运作良好。然后停了下来。在我可以确定的代码中,WebSQL停止工作。命令正在运行,资源选项卡中有一个数据库,但其中没有表。如果没有表,则不会存储任何内容,也不会检索任何内容。
这是使用与一周前相同的代码:我可以看到的唯一更改是Chrome从版本31更新到版本32.我已尝试卸载并重新加载扩展程序,并尝试了几个不同版本的代码,但到目前为止,没有。 Chrome是否已停止支持WebSQL?我找不到任何相关信息。或者是否有一个简单的修复,比如我需要在扩展清单中添加的新权限?
作为参考,相关的代码行如下所示:
var searchrecord = {};
searchrecord.webdb = {};
searchrecord.webdb.db = null;
searchrecord.webdb.open = function() {
console.log("Creating database.");
var dbSize = 5 * 1024 * 1024; // 5MB
searchrecord.webdb.db = openDatabase("SearchRecord", "1.2",
"Query Recorder database", dbSize);
};
searchrecord.webdb.createTable = function() {
console.log("Creating table.");
var db = searchrecord.webdb.db;
db.transaction(function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS searchrecord(ID " +
"INTEGER PRIMARY KEY ASC, query TEXT, results TEXT," +
" finds TEXT, notes TEXT, engine TEXT," +
" options TEXT, time_performed DATETIME, synced TEXT)", []);
});
};
searchrecord.webdb.open();
searchrecord.webdb.createTable();
感谢您的帮助。
答案 0 :(得分:1)
问题已解决,但我正在回答我自己的问题,以防其他人遇到同样的问题。问题显然是我需要在Extension扩展中设置unlimitedStorage权限。由于我在本地存储的5 MB限制下,这表示存在错误或Google已降低Chrome中的存储阈值。