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

相關文章
相關標籤/搜索