Home > @dinofe/xt-core > validateIndexedDBOpenable

# validateIndexedDBOpenable() function

判断当前环境下 indexedDB (opens new window) 是否可用

Signature:

export declare function validateIndexedDBOpenable(): Promise<boolean>;

Returns:

Promise<boolean>

# Remarks

该方法的作用是提供一个可靠的判断 indexedDB 是否支持的实现, 对一些边界情况进行处理,例如:iOS 中 safari 的 iframe 中使用 window.indexedDB.open (opens new window) 报错 SecurityError

提示

  1. 此方法不会对 indexedDB 不支持的场景做任何 polyfill,检测到不支持时需要自行考虑降级处理,例如:使用 localStorage (opens new window) 替代

  2. 此方法会删除名为 xtcore-validate-indexeddb-793830e4-ce92-4b9d-8ff0-d2c9a597f3d6 的 indexedDB 数据库,如果你的业务逻辑中有同名的数据库请换一个名字

方法实现参考:https://github.com/firebase/firebase-js-sdk/blob/9c61afe3c03d30c15f648f81e3bd5ece073b58db/packages/util/src/environment.ts#L150 (opens new window)

# Example

import { validateIndexedDBOpenable } from '@dinofe/xt-core/web'
validateIndexedDBOpenable().then(isSupportIndexedDB => {
 // isSupportIndexedDB表示是否支持
 console.log(isSupportIndexedDB)
})