Windows 商店应用程序提交的 IndexedDB 问题

IndexedDB Issues with Windows Store App Submission

几周来,我们一直在尝试向 Windows 商店 Desktop/Tablet 应用程序提交更新。该应用在测试时未能正确初始化,但我们无法在本地重现任何问题。

这是一个 Javascript WebApp,我们正在使用 Cordova 使其跨平台。

添加一些远程错误日志后,我们注意到在测试人员的机器上存在 IndexedDB 初始化错误。

我们似乎失败的代码是:

var dbOpenRequest = indexedDB.open('CustomDBName', 1);

这似乎立即失败,并调用我们的错误处理程序 (dbOpenRequest.onerror = ...)。

什么可能导致这种情况?

这会不会是测试机的问题?

有什么原因我们没有在我们的任何设备上注意到这一点?我们已经使用我们提交给商店的同一版本在以下设备上测试了该应用程序:

我发现与此相关的最接近的支持问题似乎是 OS 问题:https://social.msdn.microsoft.com/Forums/windowsapps/en-US/7771e681-724c-4229-912c-06b627ce4c16/uwphtml-win10-build-10547-javascript-uwp-indexeddb-cannot-be-opened?forum=wpdevelop

您对接下来要尝试什么有什么想法或建议吗?

我认为您收到此错误是因为缺少 "window"。您是否尝试过执行以下操作? (来自 Microsoft 站点的示例代码)

var hDb = null;

try {

   if (window.indexedDB) {

      var req = window.indexedDB.open("CustomDBName", 1);

      req.onsuccess = function(evt) { 
         hDB = evt.target.result;
      }      

      req.onerror = failureHandler();
      req.onblocked = blockedHandler();

      req.onupgradeneeded = function(evt) {
         createDatabaseObjects(evt.target.result);
      }
   }
} catch(ex) {
   handleException(ex);
}

相关信息来自Microsoft, Cordova IndexDB plugin.

原来是这次认证系统出了问题。

应用终于通过了认证。