我有一个基于IndexedDB的应用程序。以前在IndexedDB上进行特征检测很容易 - 只需查看是否定义了window.indexedDB
。然而,最近有两件事发生了变化:
所以现在我需要一些更精细的功能检测来向Safari和IE用户显示合理的错误信息。
我可以想象,测试IE缺失的功能并不会太困难,因为至少问题是记录在案的。但是对于Safari来说,存在多个错误,我不知道它在任何地方的记录有多好。哎呀,我甚至没有任何可以运行Safari的Apple设备。如果将来某些其他浏览器发布一个错误的IndexedDB实现会怎么样呢?
之前有没有人想过或解决过这些问题?在我看来应该有一些标准的IndexedDB特征检测库,但我找不到任何东西(Modernizr的IndexedDB东西似乎不够用)。
答案 0 :(得分:2)
对于IE,您可以检查:IDBKeyRange.only([1])
,这会在IE上引发异常DataError
。
对于Safari,我做了一些useragent嗅探,因为我找不到一种方法来检查,(我本来可以创建一个dummyDb并检查插入是否会删除我的其他值)但这将是异步使一切都有点更难)..