indexedDB.open() 在 iOS Safari 上大约需要 10 秒

indexedDB.open() takes around 10sec on iOS Safari

我的 iPhone 上的 Web 应用程序中使用了一个 indexedDB 数据库。 最近开始需要更多时间才能开始。在诊断这种情况一段时间后,我发现它发生是因为 indexedDB.open() 运行 持续了 10 秒以上。

这是一个小代码示例

var db;
var promise = utils.promise();
var openRequest = indexedDB.open(this.dbName, this.version);

openRequest.onsuccess = function(evt) {
    db = openRequest.result;
    promise.resolve();
};

openRequest.onerror = function(evt) {
    promise.reject();
    onError(evt, 'Database open');
};

数据库本身最近变化不大。我也没有很多数据。它有大约 300 条记录。

知道如何诊断此类问题吗?

UPD可能与https://bugs.chromium.org/p/chromium/issues/detail?id=402980

有关

显然这是 iOS 更新的结果(从 11.1.* 到 11.2.*)。

我已将网络应用程序添加到主屏幕。据我了解,当您进行 iOS 更新时,网络应用程序容器已移至新的 iOS 环境,但保留了原始 iOS 版本的一些功能(可能与使用的 WebView 有关对于网络应用程序,但我不确定)。

所以我再次将我的网络应用程序添加到主屏幕,它立即启动。