Я получаю InvalidAccessError
, когда пытаюсь открыть индексированную базу данных в приложении IOS для кордовы.Можно ли использовать indexedDB в приложении IOS кордовы?
Платформа:
- Cordova: 5.4.1
- Cordova-ИСН: 4.0.1
- IOS, 9.2 (тренажер и реальное устройство)
Я уже добавил Plugin to use the WKWebview, который сделал объект indexedDB хотя бы определенным, но ошибка была выбрана. Код работает в хромовом, сафари и мобильном сафари, если я запускаю его через собственный веб-сервер кордовы.
config.xml выглядит следующим образом
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
и я пытаюсь открыть IndexedDB с этим:
openDb: function() {
var openRequest = window.indexedDB.open(DB_NAME, DB_VERSION);
openRequest.onupgradeneeded = function(event) {
console.log('upgrade needed');
console.log(event);
myIndexDb = event.target.result;
var options = {
autoIncrement: true,
keyPath: 'key'
};
var objectStore = myIndexDb.createObjectStore(DB_STORE_NAME, options);
};
openRequest.onerror = function(event) {
console.log(event);
console.log('indexDB open Error!');
};
openRequest.onsuccess = function(event) {
console.log('open success');
myIndexDb = this.result;
};
openRequest.onblocked = function(event) {
console.log('request is blocked');
console.log(event);
}
}
cordova-ios 4.9.2 не существует. Существуют и другие альтернативы плагину telerik: вы используете cordova-ios 4.0.0 или выше http://stackoverflow.com/questions/32405798/state-of-wkwebview-on-cordova-ios-9/32452158#32452158 – jcesarmobile
Это было опечатка - я имел в виду cordova-ios 3.9.2 - И с подключенным «cordova-plugin-wkwebview-engine» indexedDB не работает – kluka
Я нашел, используя PhoneGap Build Я смог использовать плагин CDWKWebViewEngine, если бы добавил его как плагин к моему config.xml - http://stackoverflow.com/questions/35573145/cordova-wkwebview-plugin-with-phonegap-build-6-0-0 Однако пока я не смог успешно вызовите window.indexedDB.open() из моего приложения, хотя window.indexedDB существует. –