シンプルなハイブリッド 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 は表示されません。
これは意味がなく、簡単に複製できます。これらのイベントの仕組みに変更はありましたか? ありがとう!