2014-01-11 5 views
2

У меня есть расширение Chrome, которое я написал для регистрации поисков, которые я выполняю в разных поисковых системах. До тех пор, пока несколько дней назад он работал нормально. И затем он остановился. Выкалывая код, насколько я могу судить, WebSQL перестала работать. Команды запущены, и на вкладке ресурсов есть база данных, но в ней нет таблицы. Без таблицы ничего не сохраняется, и ничего не получается.WebSQL в Chrome 32

Это тот же код, который работал неделю назад: единственное изменение, которое я вижу, это то, что 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

Не уверен, что это связано - но так, чтобы вы знали, что WebSQL устарел уже довольно давно в пользу IndexedDB –

+0

http://stackoverflow.com/questions/9897699/google-chrome-extension-webdb-or-indexdb –

+0

Я знаю об устаревании. Проблема (помимо IndexedDB, менее полезная, чем SQL) заключается в том, что расширение также должно запускаться в старой версии Chrome, которую мы используем на работе, версия 18, которая не поддерживает IndexedDB. Я надеялся, что смогу использовать ту же систему для обоих. Если бы они просто отказались от поддержки, было бы неплохо увидеть это в сообщении об ошибке, а не просто тихо провалиться. Я все еще вижу WebSQL в ресурсах, а также созданную базу данных: в нем нет таблиц. – dscrank

ответ

1

Проблема решена, но я отвечаю на свой вопрос, если у других такая же проблема. По-видимому, проблема заключалась в том, что мне нужно было установить неограниченное разрешение на использование в манифесте расширения. Поскольку я был под лимитом 5 МБ для локального хранилища, это указывает либо на ошибку, либо на то, что Google снизил порог хранения в Chrome.

Смежные вопросы