我希望在运行时从我的Cordova / PhoneGap应用程序config.xml
中读取这些值:
然而,令人惊讶的是,API参考指南中没有“Config
”功能:
http://cordova.apache.org/docs/en/3.4.0/index.html
我已经编写了自己的函数来手动读取和解析这个文件,但我觉得必须有一个(现有的)更好的方法。
开发人员是否应手动解析config.xml以提取必要的信息,或者是否有可用于执行此操作的现有插件?
答案 0 :(得分:6)
你可以在iOS,WP7,WP8,Windows8和Ubuntu上使用以下代码
function readConfig() {
var xhr = new XMLHttpRequest();
xhr.addEventListener("load", function () {
var parser = new DOMParser();
var doc = parser.parseFromString(xhr.responseText, "application/xml");
alert("Description : " +
doc.getElementsByTagName("description").item(0).textContent);
});
xhr.open("get", "../config.xml", true);
xhr.send();
}
对于Android,您必须将文件路径从"../config.xml"
更改为"../../android_res/xml/config.xml"
取自Cordova邮件,其中讨论了答案: https://www.mail-archive.com/dev@cordova.apache.org/msg14313.html
还有用于阅读配置的非官方插件: https://github.com/apache/cordova-labs/tree/cdvtest/cordova-plugin-appsettings
答案 1 :(得分:2)
对于那些不想搞乱xhr查询的人,你可以使用两个插件:
1 plugin-buildinfo(仅适用于Android和IOS,但非常棒)
2 plugin-app-version(更轻但支持更多平台)
要快速启动第二个,您需要做的就是将插件添加到项目中:
cordova plugin add https://github.com/whiteoctober/cordova-plugin-app-version.git
并按如下方式调用您所需的位置:
cordova.getAppVersion(function (version) {
alert(version);
});
答案 2 :(得分:2)
您可以使用以下Cordova插件:
cordova plugin add cordova-plugin-customconfigparameters
在Config.xml
中添加自定义参数作为首选项标记:
<preference name="name" value="Ibrahim"/>
<preference name="copyright" value="Direct Direction 2017"/>
<preference name="description" value="Information Technology"/>
注意:请确保首选项名称应为小写字母(适用于IOS)。
然后在您的页面中使用以下脚本从Config.xml
获取密钥的值:
var paramkeyArray=["name","copyright","description"];
CustomConfigParameters.get(function(configData){
console.log(configData.name);
console.log(configData.copyright);
console.log(configData.description);
},function(err){
console.log(err);
},paramkeyArray);
有关详细信息,请参阅https://www.npmjs.com/package/cordova-plugin-customconfigparameters