0

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

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

尽管它在 Android 的 OptionsMenu 中成功地从“Worklight Settings”更改为“myApp settings”,但当我查看 Logcat 时,它显示以下错误:

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

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

标签:测试(我的应用程序的名称)

[http://192.168.1.5:10080/test/apps/services/api/test/android/composite] 异常。TypeError:无法调用未定义的方法“替换”

标签:CordovaLog

未捕获的类型错误:无法调用未定义的方法“替换”

标签: Web 控制台

未捕获的类型错误:无法在 file:///data/data/com.test/files/www/default/wlclient/js/worklight.js:1763 调用未定义的方法“替换”

4

1 回答 1

1

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

我已经纠正了。

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

将对象从 messages.js 移动到 yourApp.js,上面wlCommonInit(),并像这样更新它:

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

WL.ClientMessages.wlSettings = "myApp Settings";

function wlCommonInit() {
    ...
    ...
}
于 2013-11-18T17:50:58.657 回答