2014-10-30 4 views
1

В моем приложении я использую Modernizr для обнаружения различных функций. Чтобы определить, доступен ли IndexedDB, я использую «Modernizr.indexeddb». В iOS Simulator (v8.1) он возвращает false! (Он должен возвращать true, потому что IndexedDB доступен с iOS 8.0 - тем не менее это buggy behavior).Модернизация обнаружения IndexedDB в iOS-симуляторе

(Приложение использует AngularJS, MobileAngularUI и JQuery, но это не связанные с вопросом, я думаю.)

Я проверил же приложение в Desktop-Safari и Chrome: Modernizr.indexeddb возвращает истину.

Я переустановил, если на этом устройстве с помощью indexedDB поддерживается этот файл: https://www.browserleaks.com/modernizr - Он показывает, что IndexedDB поддерживается в браузере Safari для симулятора.

Чтобы быть уверенным, что я бегу последнюю версию Modernizr я вновь загруженную Modernizr из этого URL: http://modernizr.com/downloads/modernizr-latest.js

Редактировать: This Pluker содержит кнопку, где вы можете проверить вывод Modernizr.indexeddb , Я тестировал это на своем устройстве iOS8.1 и на 8.1 симуляторе iOS. На обоих устройствах возвращаемое значение было истинным!

Кнопка запускает эту функцию:

function checkIndexedDB() { 
    alert('Modernizr.indexeddb = ' + Modernizr.indexeddb); 
}; 

Почему мое приложение (которое работает в Cordova-контейнера) не имеет индексированной доступны?

ответ

3

Я нашел ответ - IndexedDB недоступен в приложениях Cordova. (состояние сегодня: 31 октября '14)

В iOS8 был введен новый компонент WKWebView. Кордова все еще использует старый компонент UIWebView. Они хотят, чтобы перейти на новую WKWebView, but there are some bugs apple has to solve:

К сожалению, существует серьезная ошибка в WKWebView, где он не может загрузить файл: // URLs, так что затрудняло наши усилия. Эта функциональность работала в iOS 8 с 1 по 3 на устройстве (она всегда работает в симуляторе iOS 8), но после этого сломалась. Я не уверен, что ETA для исправления ошибок, но это в радаре Apple (буквально!).

Смотреть это для более подробной информации: Does iOS 8 support IndexedDB with UIWebView?