2013-11-20 3 views
11

У меня есть рабочий образец с IndexedDB, который отлично подходит для моего настольного Chrome. Тем не менее, моя главная цель - разработать для iOS-устройств (Chrome-Safari), и этот API пока недоступен. Что мне делать?Альтернатива IndexedDB в не поддерживаемых браузерах? Safari/iOS Saf-Chrome

Я видел это Полипол: http://nparashuram.com/IndexedDBShim/. Но я тестировал его с помощью iPod Touch 5-го поколения и как-то 19-й тест не работает ...

Должен ли я использовать WebSQL, который устарел?

мне понравилась идея Polyfill но она не работает для меня ...

Существуют ли какие-либо планы по поддержке индексированной в будущем для всех неподдерживаемых браузеров?

Спасибо!

+0

Используйте localStorage? – levi

+2

Но мне нужно хранить большое количество данных в некотором роде отсортированным способом ... –

ответ

17

Here is another similar polyfill you can try, но в моем (хотя и ограниченном) опыте оба полина являются ошибочными/неполными. У них обоих также есть много открытых вопросов о GitHub о людях, сообщающих о проблемах. И когда я тестировал один из них (я забыл, какой), он был значительно медленнее, чем собственный IndexedDB.

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

Должен ли я использовать WebSQL, который устарел?

Проблема с WebSQL заключается в том, что она никогда не будет поддерживаться в IE или Firefox. Вероятно, вы можете уйти с помощью WebSQL, если вы ориентируетесь только на мобильные браузеры, по крайней мере, до тех пор, пока Firefox OS или Windows Phone не захватят значительную долю на рынке.

Существуют ли какие-либо планы по поддержке IndexedDB в будущем для всех не поддерживаемых браузеров?

Давайте будем ясны. Вы спрашиваете об Apple, поскольку все остальные поддерживают IndexedDB в своем последнем браузере (iOS Chrome использует механизм рендеринга Apple, потому что Apple не позволит им делать что-либо еще).

Не только Apple не поддерживает IndexedDB, они ничего публично ничего не говорили об этом (насколько я могу судить), и я сделал довольно много поиска). Что кажется довольно странным. Поэтому, насколько я могу судить, никто не знает, планирует ли Apple поддерживать IndexedDB. Теоретик-заговор во мне думает, может быть, они пытаются саботировать приложения HTML5, чтобы заставить людей писать собственные приложения, но это чисто спекуляция.

В целом, это оставляет нам разработчиков в довольно хреновой ситуации. Не существует хорошего кросс-платформенного решения. Я рекомендую вам жаловаться на Apple. Это то, что я сделал, и я попросил моих пользователей, которые хотят использовать мое приложение на базе IndexedDB для iOS, сделать то же самое. Еще ни слова от Apple.

UPDATE - Indexeddb теперь поддерживается в iOS 8, как указано в WWDC 2014, но, к сожалению, it's broken pretty badly.

+1

Я также согласен с теорией заговора о том, что Apple намеренно саботирует приложение HTML5, чтобы заставить использовать свое родное приложение. Здесь http://www.chromestatus.com/features/6507459568992256 записывает сафари как «публичный скептицизм», ранее был «публичным противником». Я не думаю, что яблоко будет внедрять IndexedDB в течение нескольких лет. В websql в сафари есть ошибка в предоставлении квоты. –

+0

Благодаря обоим! Да, я говорил об Apple ... Они всегда кладут камни на моем пути ... На этот раз большой ... Я ничего не видел от Apple о IndexedDB. Где я могу жаловаться? –

+0

@ KyawTun, что вы имеете в виду с предоставлением квоты? В случае, если я буду заботиться только об Apple, не является ли WebSQL? Существуют ли другие альтернативы для хранения большого количества данных, отсортированных в браузере? –

1

Похоже, что IndexedDB не работает как веб-приложение (прикрепленное к главному экрану). Работает в Safari.

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