Unity WebGL打包微端时遇到的indexedDB加载问题

同一个连接,在浏览器和其余人的微端里都没问题,我本地的微端执行连最开始的unity主程序加载都没法执行。web

在UnityLoader.js里一点一点地加输出,查了很久才找到解决办法(只是还没明白缘由),问题出在indexedDB的使用方法中:浏览器

try {
  var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
  var openRequest = indexedDB.open(databaseName);
  openRequest.onupgradeneeded = function (e) {
    initDatabase(e.target.result); //加上这句就行了
    var objectStore = e.target.result.createObjectStore(store, { keyPath: "url" });
    ["version", "company", "product", "updated", "revalidated", "accessed"].forEach(function (index) { objectStore.createIndex(index, index); });
  };
  openRequest.onsuccess = function (e) { initDatabase(e.target.result); };
  openRequest.onerror = function (e) { initDatabase(null); };
  setTimeout(openRequest.onerror, 1000);
} catch (e) {
  initDatabase(null);
}

本来的代码会在openRequest.onupgradeneeded里执行e.target.result.createObjectStore时致使触发openRequest.onerror,抛出一个AbortError,但凭输出也查不到更具体的信息了,也没有找到具体的缘由,暂时就先这样了吧。url

相关文章
相关标签/搜索