问题描述
环境:在ipad(iPad mini5,版本14.6)中使用webview加载远程url,远程url加载并执行后,代码如下所示,没有打印。似乎 indexedDB.open() 没有任何回报。
经过我的测试,只有14.6版本有问题,ios 14.4以下版本没有问题。我不确定这是 webview 问题还是 indexedDB 问题
var dbname = "test";
var dbVersion = 1;
var indexedDB = window.indexedDB ||
window.webkitIndexedDB ||
window.mozIndexedDB;
var db = '';
console.log("setup indexed db");
var request = indexedDB.open(dbname,dbVersion);
request.onsuccess = function(e) {
console.log("db request success");
};
request.onblocked = function(e) {
console.log("DB open blocked",e);
};
request.onerror = function(err) {
console.log("error",err);
};
request.onversionchange = function(err) {
console.log("onversionchange",err);
};
request.onupgradeneeded = function(e) {
console.log("upgrade needed");
};
解决方法
经过测试,发现wkWebview会出现问题,使用uiWebview不会。所以我觉得新版ios wkWebview对于indexedDB的兼容性有问题