簡體   English   中英

IBM Worklight-在Android的OptionsMenu中更改默認的“ Worklight Settings”字符串后無法直接更新

[英]IBM Worklight - Can not direct update after change default “Worklight Settings” string in Android's OptionsMenu

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

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

盡管它在Android的OptionsMenu中從“ Worklight設置”成功更改為“ myApp設置”,但是當我查看Logcat時,它顯示以下錯誤:

未捕獲的ReferenceError:在文件:///data/data/com.test/files/www/default/js/messages.js:10中未定義WL

另外,如果我通過更改Web資源觸發直接更新,則它會失敗,並顯示以下錯誤:

標簽:測試(我的應用名稱)

[http://192.168.1.5:10080/test/apps/services/api/test/android/composite]例外。 TypeError:無法調用未定義的方法“替換”

標簽:CordovaLog

未捕獲的TypeError:無法調用未定義的方法“替換”

標簽:Web控制台

未捕獲的TypeError:無法在file:///data/data/com.test/files/www/default/wlclient/js/worklight.js:1763上調用未定義的方法'replace'

這是因為我以前解釋這個問題的方式: IBM Worklight-如何更改缺省的“ Worklight Settings”字符串?

我已經改正了。

現在發生這種情況是因為messages.js不在WL名稱空間的范圍內。
這樣,它將覆蓋整個ClientMessages對象,只剩下一個屬性-wlSettings。 這將導致各種功能失敗,例如,您遇到的直接更新失敗是由於WL框架無法檢索所需的消息字符串而導致的。

將對象從messages.js移到wlCommonInit wlCommonInit()上方的wlCommonInit() ,並像這樣更新它:

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

WL.ClientMessages.wlSettings = "myApp Settings";

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM