Sqlite в хром - PullRequest
       19

Sqlite в хром

59 голосов
/ 01 июня 2011

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

Ответы [ 4 ]

25 голосов
/ 23 июня 2011

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

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

20 голосов
/ 09 ноября 2014

Возможно, вы сможете использовать sql.js .

sql.js - это порт SQLite для JavaScript, скомпилировав код SQLite C с помощью Emscripten.здесь нет привязок C или компиляции узловых узлов.

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

13 голосов
/ 01 июня 2011

Chrome поддерживает API WebDatabase (работающий на sqlite), но похоже, что W3C прекратил свою разработку .

7 голосов
/ 09 февраля 2017

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...