在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
答案 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() {
...
...
}