Geo*_*ook 3 javascript incognito-mode ios indexeddb dexie
我尝试在 iOS Safari 和 iOS Chrome 上加载网络应用程序时收到错误。在桌面上进行私密浏览时没有错误。
我添加了以下内容:
if (window.indexedDB) {
console.log('IDB supported');
var db = new Dexie('Stir');
//Dexie stuff
}
Run Code Online (Sandbox Code Playgroud)
使用 Safari 开发工具,正在记录“支持 IDB” - 但随后会弹出错误/警报并阻碍操作。
我将所有 dexie 代码都封装在里面if (window.indexedDB)
- 以确保它仅在 IDB 在浏览器中可用时才运行。
我的完整仓库位于https://github.com/georgecook92/Stir。如果查看这段代码,对 dexie 的调用位于React 的actionsindex.js
和 main中。index.js
当对 indexedDB.open (dB name, version) 的调用返回 null 时,Dexie 可能会抛出该错误。为了解决以下问题,在dexie源代码中添加了空检查:
https://github.com/dfahlander/Dexie.js/issues/134。
如果使用另一个错误来区分它与 window.indexedDB 的真正缺失,也许会减少混乱。
只有 Safari 具有从 indexedDB.open () 返回 null 的行为。您在 ios chrome 上看到它的原因是,由于 Apple 的许可证限制,该浏览器在 safari 底层运行,该限制禁止除 Safari 之外的任何其他浏览器引擎在 ios 上运行。
归档时间: |
|
查看次数: |
2427 次 |
最近记录: |