У меня есть этот фрагмент до сих пор:Как я могу форматировать строку ресурса?
resetSettings: function (type, showConfirm, OnImageLoad) {
if (showConfirm) {
var msg = "";
Localization.GetBrowserLocalResource("ConfirmMsg", function (key, value) {
msg = value;
});
Но я хочу, чтобы отформатировать его с чем-то вроде этого, где я прохожу в типе для форматирования строки:
Localization.stringFormat(getString(Localization.GetBrowserLocalResource("ConfirmMsg", type)));
Но мне нужно форматировать строка с функцией (ключ, значение) в этом методе. Как мне это сделать?
EDIT:
Определение GetBrowserLocalResource:
var browserLocalResources = {};
// callback = callback(key,value)
GetBrowserLocalResource: function (key, callback) {
var val = "--no--resource";
if (browserLocalResources != null) {
if (browserLocalResources.hasOwnProperty(key)) {
val = browserLocalResources[key];
callback(key, val);
} else {
Localization.GetResourceFromServer(key, callback);
}
} else {
AjaxLog.WriteLog("error: GetBrowserLocalResource", "browserLocalResources == null");
}
return (val);
},
Как бы я использовать StringFormat?
StringFormat является:
stringFormat: function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
Нечто подобное ?:
if (showConfirm) {
var msg = "";
stringFormat(Localization.GetBrowserLocalResource("ConfirmMsg"), type, function (key, value) {
msg = value;
});
Где 'Localization.GetBrowserLocalResource' определено? –
См. Редактирование. Спасибо – Euridice01