WinJS.Resources.getString 使用非 WinRT 应用
WinJS.Resources.getString with non-WinRT apps
我正在使用 WinJS 4.0 开发 Cordova 应用程序。但是我尝试使用 WinJS.Resources.getString 但它不起作用。它与我的 Windows 8.1 应用程序完美配合。
有什么方法可以将它与 Cordova 一起使用吗?如果不是,我应该使用哪种替代解决方案?请给我一个答案。非常感谢。
是的,你可以这样做,但不能直接这样做。
在调用 WinJS.UI.processAll 之前,您必须阅读 resjson 并设置全局 "strings" 变量:
var loadLocalRessources = function (language) {
language = language || 'en';
return new WinJS.Promise(function (complete, error) {
var url = './strings/' + language + '/resources.resjson';
console.log('trying to load resources from ' + url);
WinJS.xhr({ url: url }).then(function (res) {
console.log('resource ok for ' + language);
try {
window.strings = JSON.parse(res.responseText);
} catch (exception) {
console.error('resource parse error ' + exception.message);
}
complete(window.strings);
}, function (err) {
console.error('resource load error for ' + language + ' ' + err.statusText);
if (language != 'en') {
data.loadLocalRessources('en').then(complete, error);
}
else {
error(err);
}
});
});
}
http://mcnextpost.com/2015/03/05/how-to-use-winjs-resources-with-a-cordova-app/
我正在使用 WinJS 4.0 开发 Cordova 应用程序。但是我尝试使用 WinJS.Resources.getString 但它不起作用。它与我的 Windows 8.1 应用程序完美配合。 有什么方法可以将它与 Cordova 一起使用吗?如果不是,我应该使用哪种替代解决方案?请给我一个答案。非常感谢。
是的,你可以这样做,但不能直接这样做。
在调用 WinJS.UI.processAll 之前,您必须阅读 resjson 并设置全局 "strings" 变量:
var loadLocalRessources = function (language) {
language = language || 'en';
return new WinJS.Promise(function (complete, error) {
var url = './strings/' + language + '/resources.resjson';
console.log('trying to load resources from ' + url);
WinJS.xhr({ url: url }).then(function (res) {
console.log('resource ok for ' + language);
try {
window.strings = JSON.parse(res.responseText);
} catch (exception) {
console.error('resource parse error ' + exception.message);
}
complete(window.strings);
}, function (err) {
console.error('resource load error for ' + language + ' ' + err.statusText);
if (language != 'en') {
data.loadLocalRessources('en').then(complete, error);
}
else {
error(err);
}
});
});
}
http://mcnextpost.com/2015/03/05/how-to-use-winjs-resources-with-a-cordova-app/