Sqlite in chrome

Можно ли сделать расширение chrome, которое взаимодействует с базой данных sqlite так же, как расширение Firefox? Не могли бы вы дать мне совет или ссылку, где больше информации о разработке расширения chrome, взаимодействующего с sqlite?

Благодарю вас

Ответ 1

Вы можете использовать Web SQL API, который является обычной базой данных SQLite в вашем браузере, и вы можете открывать/изменять его, как и любые другие базы данных SQLite, для пример с Lita.

Chrome автоматически находит базы данных в соответствии с именами доменов или идентификатором расширения. Несколько месяцев назад я опубликовал в своем блоге короткую статью о о том, как удалить базу данных Chrome, потому что, когда вы тестируете некоторые функции, она весьма полезна.

Ответ 2

Возможно, вы сможете использовать 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. Хотя это может быть проблемой на веб-странице, размер, вероятно, допустим для расширения.

Ответ 3

Chrome поддерживает API WebDatabase (который работает на базе sqlite), но выглядит так, как W3C остановил .

Ответ 4

Я не совсем уверен, если вы имеете в виду "могу ли я использовать sqlite (websql) в chrome" или "могу ли я использовать sqlite (websql) в firefox", поэтому я отвечу на оба:

Обратите внимание, что WebSQL не является каналом полного доступа в базе данных .sqlite. Это WebSQL. Вы не сможете запускать некоторые конкретные запросы, например VACUUM

Это потрясающе для создания/чтения/обновления/удаления. Я сделал небольшую библиотеку, которая помогает со всеми раздражающими nitty gritty, такими как создание таблиц и запросов, и предоставляет небольшой шаблон ORM/ActiveRecord с отношениями и всеми, а также огромный стек примеров, которые должны начать вас без задержек, вы можете проверить это здесь

Кроме того, имейте в виду, что если вы хотите построить расширение FireFox: Их формат расширения вот-вот изменится. Убедитесь, что вы хотите потратьте время дважды.

В то время как спецификация WebSQL устарела в течение многих лет, даже сейчас в 2017 году все еще не похоже, что она будет удалена из Chrome в обозримое время. Они отслеживают статистику использования, и в реальном мире все еще существует большое количество хромовых расширений и веб-сайтов, реализующих спецификацию.