IndexedDB.open 在 Safari iOS 8.1.1 上返回 null,并在 Cordova 上停止执行.
IndexedDB.open returns null on Safari iOS 8.1.1 and halts execution on Cordova. Even worst on iOS 8.1.2
我知道iOS中的IndexedDB实现非常错误,就像不同表之间的共享ID一样。但是它对我根本不起作用。我正在尝试开发一个应该使用 IndexedDB 的 iOS Cordova应用程序,所以我创建了以下代码:
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
var request = window.indexedDB.open("mydata"); //also tried open("mydata", 1) with same result
console.log('OPEN DB')
request.onupgradeneeded = function() {...};
request.onsuccess = function() {...};
在 Cordova 应用程序中运行此代码段时,不会显示OPEN DB
打印,执行卡在indexedDB.open
调用处(没有错误日志或根本没有任何内容(。我认为这可能是科尔多瓦的问题,所以我决定在普通的 Safari 浏览器中运行相同的代码,尽管它应该与 Cordova 相同,只是使用 UIWebview,据我了解,应该使用相同的 webkit 版本与浏览器。
在 Safari 中运行时iOS 8.1.1
会打印OPEN DB
日志,但由于null
变量request
它在下一行崩溃。在iOS 8.1.2
上运行时,它会在open()
调用时崩溃,显示日志如下:
安全错误:DOM 异常 18:尝试突破用户代理的安全策略
$@#%!是怎么回事?我看到有些人抱怨错误行为,但我什至无法打开数据库,这是正常的还是什么?
UIWebView不支持indexedDB
http://www.sencha.com/blog/apple-shows-love-for-html5-with-ios-8
IndexedDB 被添加到 iOS 8 Safari 和"WKWebView"中
IndexedDB 在 iOS 8 "UIWebView" 或主屏幕应用程序中不可用
但是你可以尝试使用WKWebView科尔多瓦插件http://devgirl.org/2014/11/10/boost-your-ios-8-mobile-app-performance-with-wkwebview/
- 使用clickToggle并在单击另一个元素时关闭元素
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 使用jQuery动态添加表并在其中动态添加行
- 遍历类元素数组,并在jquery中选择同级元素
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何使用JS禁用表行,并在MYSQL中插入所选选项
- 在cordova android应用程序中连接数据库
- Node.js上的WebSocket,并在所有连接的客户端之间共享消息
- OpenLayers在悬停时高亮显示功能,并在单击时选择
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- 获取屏幕截图并在电子邮件中发送的按钮
- CSS/HTML:更改文本的值并在悬停时从中心展开
- Angular js cordova地理位置获取当前位置并在后台将数据发送到服务器
- IndexedDB.open 在 Safari iOS 8.1.1 上返回 null,并在 Cordova 上停止执行.
- 如何为 cordova 应用程序创建一个单独的目录并在其中存储数据
- 公开来自 C# 插件的事件,并在 js 中访问 cordova