Можно ли сделать расширение chrome, которое взаимодействует с базой данных sqlite так же, как расширение Firefox? Не могли бы вы дать мне совет или ссылку, где больше информации о разработке расширения chrome, взаимодействующего с sqlite?
Благодарю вас
Вы можете использовать Web SQL API, который является обычной базой данных SQLite в вашем браузере, и вы можете открывать/изменять его, как и любые другие базы данных SQLite, для пример с Lita.
Chrome автоматически находит базы данных в соответствии с именами доменов или идентификатором расширения. Несколько месяцев назад я опубликовал в своем блоге короткую статью о о том, как удалить базу данных Chrome, потому что, когда вы тестируете некоторые функции, она весьма полезна.
Возможно, вы сможете использовать sql.js.
sql.js - это порт SQLite для JavaScript, путем компиляции кода SQLite C с помощью Emscripten. нет связок C или компиляции node -gyp здесь.
<script src='js/sql.js'></script>
<script>
//Create the database
var db = new SQL.Database();
// Run a query without reading the results
db.run("CREATE TABLE test (col1, col2);");
// Insert two rows: (1,111) and (2,222)
db.run("INSERT INTO test VALUES (?,?), (?,?)", [1,111,2,222]);
// Prepare a statement
var stmt = db.prepare("SELECT * FROM test WHERE col1 BETWEEN $start AND $end");
stmt.getAsObject({$start:1, $end:1}); // {col1:1, col2:111}
// Bind new values
stmt.bind({$start:1, $end:2});
while(stmt.step()) { //
var row = stmt.getAsObject();
// [...] do something with the row of result
}
</script>
sql.js
- это один файл JavaScript, размер которого в настоящий момент составляет около 1.5MiB. Хотя это может быть проблемой на веб-странице, размер, вероятно, допустим для расширения.
Chrome поддерживает API WebDatabase (который работает на базе sqlite), но выглядит так, как W3C остановил .
Я не совсем уверен, если вы имеете в виду "могу ли я использовать sqlite (websql) в chrome" или "могу ли я использовать sqlite (websql) в firefox", поэтому я отвечу на оба:
Обратите внимание, что WebSQL не является каналом полного доступа в базе данных .sqlite. Это WebSQL. Вы не сможете запускать некоторые конкретные запросы, например VACUUM
Это потрясающе для создания/чтения/обновления/удаления. Я сделал небольшую библиотеку, которая помогает со всеми раздражающими nitty gritty, такими как создание таблиц и запросов, и предоставляет небольшой шаблон ORM/ActiveRecord с отношениями и всеми, а также огромный стек примеров, которые должны начать вас без задержек, вы можете проверить это здесь
Кроме того, имейте в виду, что если вы хотите построить расширение FireFox: Их формат расширения вот-вот изменится. Убедитесь, что вы хотите потратьте время дважды.
В то время как спецификация WebSQL устарела в течение многих лет, даже сейчас в 2017 году все еще не похоже, что она будет удалена из Chrome в обозримое время. Они отслеживают статистику использования, и в реальном мире все еще существует большое количество хромовых расширений и веб-сайтов, реализующих спецификацию.