我一直在与商业合作伙伴合作,让一个保险应用程序在Windows 8平板电脑上工作,并且遇到了一些我无法解释的有趣行为。
我设法使用一个非常简单的用例重新创建问题,它似乎在浏览器中以及在部署为应用程序时失败。
重新制作
在WL.Client.connect(...)
方法
wlCommonInit
次来电
...
WL.Client.connect({
onSuccess: function(data) {
console.log("connection Successful");
},
onFailure: function(err) {
console.log("Connection FAILED: " + JSON.stringify(err) );
}
});
保存并重新运行应用程序,它失败并出现InvalidStateError(使用F12调试程序验证)
打开Chrome控制台或Firefox浏览器到WL控制台页面,然后单击“预览为常用资源”并打开开发人员工具,控制台显示连接调用成功。
这是一个已知问题还是我错过了什么?
最终目标是提供Windows 8.1平板电脑应用,但每次我们尝试运行应用时,都会因此错误而失败。经过一些调试后,我想也许它与操作系统有关,并试图用最少的代码在浏览器中复制它。
通过测试,我发现IE上基本的Hello Worklight应用程序WL.Client.connect()
失败,但在其他浏览器上运行。
所以我想如果我在IE浏览器中使用它,那么该修复对于平板电脑应用也会有好处。
任何指示或指导都将不胜感激。
注意我使用的是WL v6.2(6.2.0.00-20140915-1601) 在Windows 7上测试 - IE 10.0.9200.17089 在Windows 8.1上测试 - IE 11.0.9600.16663
我得到的错误是
HTML1300: Navigation occurred.
File: index.html
wlclient init started
before: initOptions.onSuccess
Request [/Connect/apps/services/api/Connect/common/init]
console.trace()
at __log (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:4882:31)
at Anonymous function (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:5240:7)
at createRequestHeaders (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:3200:17)
at sendRequest (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:3266:18)
at initialize (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:3172:17)
at klass (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:524:4)
at sendInitRequest (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:7870:5)
at connect (http://192.168.80.167:10080/Connect/apps/services/preview/Connect/common/0/default/worklight/worklight.js:7879:3)
SCRIPT5022: InvalidStateError
File: worklight.js, Line: 1055, Column: 3
Uncaught Exception: InvalidStateError at (compiled_code):1055
答案 0 :(得分:1)
对于未来的读者,通过迁移到更新的fixpack版本v6.2.0.00-20141002来解决此问题