Как вы можете создать локальную базу данных JavaScript, связанную с расширением Safari-5? - PullRequest
1 голос
/ 26 июня 2010

Я пытался создать небольшое расширение для сафари, в основном для удовольствия, посмотреть, что вы можете сделать и т. Д.

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

Я немного искал в Google и нашел этот фрагмент из справочной библиотеки Safari, которая создаст базу данных JavaScript:

var shortName = 'mydatabase';
var version = '1.0';
var displayName = 'My Important Database';
var maxSize = 65536; // in bytes
var db = openDatabase(shortName, version, displayName, maxSize);

Это работает довольно хорошо и создает базу данных, как я хотел.Единственное, что эта база данных зависит от домена, поэтому мой сценарий создания базы данных создаст базу данных для каждого посещенного домена, что было не совсем тем, что я хотел.

Так как же вы, если это возможно, можете,создать базу данных локального хранилища, которую можно назначить расширению safari, чтобы оно было доступно на всех доменах?

1 Ответ

2 голосов
/ 28 июня 2010

Правильным способом было бы сделать это с глобальной страницы, а не из внедренного скрипта.Проблема в том, что это не сработает.

Создание автономной базы данных из глобальной страницы вызывает SECURITY_ERR.Это известная ошибка, и она должна быть исправлена ​​в следующем выпуске.

Итак, сейчас , нет способа сделать это.

РЕДАКТИРОВАТЬ Как указывает Брайан, эта проблема исправлена ​​в Safari 5.0.3.Вы должны указать квоту на размер базы данных в Расширителе расширений, и тогда она должна работать.

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