Chrome中的WebSQL 32

时间:2014-01-11 02:14:28

标签: google-chrome google-chrome-extension web-sql

我写了一个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();

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

问题已解决,但我正在回答我自己的问题,以防其他人遇到同样的问题。问题显然是我需要在Extension扩展中设置unlimitedStorage权限。由于我在本地存储的5 MB限制下,这表示存在错误或Google已降低Chrome中的存储阈值。