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 等设备上尝试了多种设备和 admin/guest 模式
这会不会是测试机的问题?
- 我们之前批准和发布的应用程序现在似乎也有这个问题。我们尝试重新提交我们的旧应用程序,但它未能通过认证(奇怪!)。
有什么原因我们没有在我们的任何设备上注意到这一点?我们已经使用我们提交给商店的同一版本在以下设备上测试了该应用程序:
- 华硕T100变形金刚,Win 8.1
- Dell Venue Pro 11,Win 8.1
- Win 8.1 上的 Digiland 8" 平板电脑
- 其他表面平板电脑
- 几台笔记本电脑 Windows 8.1 和 10
我发现与此相关的最接近的支持问题似乎是 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.
原来是这次认证系统出了问题。
应用终于通过了认证。
几周来,我们一直在尝试向 Windows 商店 Desktop/Tablet 应用程序提交更新。该应用在测试时未能正确初始化,但我们无法在本地重现任何问题。
这是一个 Javascript WebApp,我们正在使用 Cordova 使其跨平台。
添加一些远程错误日志后,我们注意到在测试人员的机器上存在 IndexedDB 初始化错误。
我们似乎失败的代码是:
var dbOpenRequest = indexedDB.open('CustomDBName', 1);
这似乎立即失败,并调用我们的错误处理程序 (dbOpenRequest.onerror = ...)。
什么可能导致这种情况?
- 我们已经在 OS 等设备上尝试了多种设备和 admin/guest 模式
这会不会是测试机的问题?
- 我们之前批准和发布的应用程序现在似乎也有这个问题。我们尝试重新提交我们的旧应用程序,但它未能通过认证(奇怪!)。
有什么原因我们没有在我们的任何设备上注意到这一点?我们已经使用我们提交给商店的同一版本在以下设备上测试了该应用程序:
- 华硕T100变形金刚,Win 8.1
- Dell Venue Pro 11,Win 8.1
- Win 8.1 上的 Digiland 8" 平板电脑
- 其他表面平板电脑
- 几台笔记本电脑 Windows 8.1 和 10
我发现与此相关的最接近的支持问题似乎是 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.
原来是这次认证系统出了问题。
应用终于通过了认证。