我将一个简单的混合 Worklight 项目从 6.3 升级到了 7.0。大多数功能都很好。但是,WL.Events.WORKLIGHT_IS_CONNECTED 和 WL.Events.WORKLIGHT_IS_DISCONNECTED 的侦听器不再正常工作。
这是代码:
function wlCommonInit(){
WL.Client.connect({onSuccess: onConnectSuccess, onFailure: onConnectFailure});
function onConnectSuccess() {
WL.Logger.debug("Connect success.");
}
function onConnectFailure() {
WL.Logger.debug("Connect failed.");
}
$("body").resize();
//Added listeners for Online/Offline functionality and set heart beat
document.addEventListener(WL.Events.WORKLIGHT_IS_CONNECTED, connectDetected, false);
document.addEventListener(WL.Events.WORKLIGHT_IS_DISCONNECTED, disconnectDetected , false);
WL.Client.setHeartBeatInterval(10);
initJson();
}
// Online/Offline Functions
function connectionFailure(){
alert("Could not connect to the MobileFirst Server.");
var output = "OFFLINE";
$('#ConnectionMsg').html(output);
}
function disconnectDetected(){
var output = "<font color='red'>DISCONNECTED</font>";
$('#ConnectionMsg').html(output);
}
function connectDetected(){
var output = "<font color='green'>CONNECTED</font>";
$('#ConnectionMsg').html(output);
if(initialConnection){
initialConnection = false;
} else {
setTimeout(function(){
//cleanDirtyDocs();
}, 20000);
}
}
简单地说,应用程序有一个基于 WORKLIGHT_IS_CONNECTED 和 WORKLIGHT_IS_DISCONNECTED 事件的“CONNECTED”或“DISCONNECTED”页脚。这在 WL6.3 中完美运行,但完全相同的代码在 7.0 中不起作用。初始化后没有消息,只有一个空白页脚,唯一让 DISCONNECT 显示的方法是在服务器关闭后调用适配器。CONNECT 从不显示。
这是没有意义的,而且很容易复制。这些事件的运作方式是否发生了变化?谢谢!