IBM Worklight - 在Android选项菜单中更改默认的“Worklight设置”字符串后无法直接更新

时间:2013-11-18 16:59:30

标签: android ibm-mobilefirst worklight-runtime

在messages.js中添加以下对象(位于myProject / apps / myApp / common):

WL.ClientMessages = {
  wlSettings : "myApp settings"
};

虽然它已在Android的OptionsMenu中从“Worklight设置”成功更改为“myApp设置”,但当我查看Logcat时,它显示以下错误:

  

未捕获的ReferenceError:未定义WL   文件:///data/data/com.test/files/www/default/js/messages.js:10

此外,如果我通过更改Web资源触发直接更新,则会因以下错误而失败:

  

tag:test(我的应用程序名称)

     

[http://192.168.1.5:10080/test/apps/services/api/test/android/composite]   例外。 TypeError:无法调用undefined

的方法'replace'      

标签:CordovaLog

     

未捕获的TypeError:无法调用未定义的方法'replace'

     

标签:Web控制台

     

未捕获的TypeError:无法调用未定义的方法'replace'   文件:///data/data/com.test/files/www/default/wlclient/js/worklight.js:1763

1 个答案:

答案 0 :(得分:1)

这是因为我之前解释了我对这个问题的回答:IBM Worklight - How to change the default "Worklight Settings" string?

我已经纠正过了。

现在发生这种情况是因为messages.js不在WL命名空间的范围内 通过这样做,它将覆盖整个ClientMessages对象,只留下一个属性 - wlSettings。这将导致各种功能失败,例如,您遇到的直接更新失败是由WL框架无法检索所需的消息字符串引起的。

将对象从messages.js移动到wlCommonInit()上方的yourApp.js,然后将其更新为:

/* myApp.js 
...
...
/*

WL.ClientMessages.wlSettings = "myApp Settings";

function wlCommonInit() {
    ...
    ...
}