是否有一个cordova插件从config.xml读取值?

时间:2014-03-30 12:57:30

标签: xml cordova config

我希望在运行时从我的Cordova / PhoneGap应用程序config.xml中读取这些值:

  • 名称
  • 版权
  • 描述

然而,令人惊讶的是,API参考指南中没有“Config”功能: http://cordova.apache.org/docs/en/3.4.0/index.html

我已经编写了自己的函数来手动读取和解析这个文件,但我觉得必须有一个(现有的)更好的方法。

开发人员是否应手动解析config.xml以提取必要的信息,或者是否有可用于执行此操作的现有插件?

3 个答案:

答案 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