Windows Store应用程序提交的IndexedDB问题

时间:2015-11-13 20:43:37

标签: windows-store-apps windows-8.1 windows-10 win-universal-app indexeddb

我们一直试图将Windows Store桌面/平板电脑应用程序的更新提交几周。应用程序在测试时无法正确初始化,但我们无法在本地重现任何问题。

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

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

我们似乎失败的代码是:

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

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

是什么导致这种情况?

  • 我们在操作系统等上尝试了多种设备和管理员/访客模式。

这可能是测试机问题吗?

  • 我们以前批准和发布的应用似乎现在也有这个问题。我们尝试重新提交我们的旧应用程序并且认证失败(奇怪!)。

我们是否有任何理由在任何设备上都没有注意到这一点?我们使用与商店提交的相同版本在以下设备上测试了该应用:

  • 华硕T100变压器,Win 8.1
  • Dell Venue Pro 11,Win 8.1
  • Digiland 8“Tablet on Win 8.1
  • Misc Surface Tablet
  • Windows 8.1和10上的几台笔记本电脑

我发现与此相关的最近支持问题似乎是操作系统问题: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

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

2 个答案:

答案 0 :(得分:2)

我认为你得到这个错误是因为" 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);
}

来自MicrosoftCordova IndexDB plugin的相关信息。

答案 1 :(得分:0)

事实证明,这次认证系统存在问题。

该应用程序最终获得认证。