收藏
回答

使用indexDB的微信公众号h5网页编译后在微信开发者工具报错?

本地开发使用indexDB完全没有问题,代码发版后在安卓和ios真机上也没有问题,但是在微信开发者工具上却报错,indexDB的onerror的具体报错信息为:

DOMException: Internal error opening backing store for indexedDB.open.,并且开发者工具缓存已经清除。

await IndexDB.openDB()

export function openDB (version = 1) {

  return new Promise((resolve, reject) => {

    let indexedDB = window.indexedDB

    const request = indexedDB.open(dbName, version)

    request.onsuccess = function (event) {

      db = event.target.result // 数据库对象

      resolve(db)

      console.log('数据库成功开启');

    }


    request.onerror = function (event) {

      reject(event)

    }


    request.onupgradeneeded = function (event) {

      // 数据库创建或升级的时候会触发

      console.log('onupgradeneeded')

      db = event.target.result // 数据库对象

      let objectStore

      if (!db.objectStoreNames.contains(storeName)) {

        objectStore = db.createObjectStore(storeName, { keyPath: 'id' }) // 创建表

        console.log('数据库成功创建');

        // objectStore.createIndex('name', 'name', { unique: true }) // 创建索引 可以让你搜索任意字段

      }

    }

  })

}


回答关注问题邀请回答
收藏
登录 后发表内容