cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse <purplecabb...@gmail.com>
Subject Re: get config.xml data from js
Date Fri, 28 Feb 2014 22:16:29 GMT
So I guess things are not as standardized as we thought.

iOS, WP7, WP8, Windows8, Ubuntu?[1] :
../config.xml
Android :
../../android_res/xml/config.xml
bb10 :
config.xml


[1]
https://github.com/apache/cordova-ubuntu/blob/cd6b3d11b58f38932797f1f4130ce40f772bdcd5/main.cpp#L66

Still completely manageable from JavaScript; IMHO
just switch on cordova.platformId ...

@purplecabbage
risingj.com


On Fri, Feb 28, 2014 at 2:06 PM, Axel Nennker <ignisvulpis@gmail.com> wrote:

> Looks better than it works.
> This does not trigger the alert. Neither with two / or three / after
> "file:"
> while "config.xml" alone works after I have put config.xml in www
>
>                                 document.addEventListener( "deviceready",
> function() {
> 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", "file:///android_res/xml/config.xml", true);
>     xhr.send();
> }
> readConfig();
>
> Anyway this is not very cross platform.
>
>
>
> 2014-02-28 22:57 GMT+01:00 Joe Bowser <bowserj@gmail.com>:
>
> > BTW: android_res and android_assets are special Android URIs that
> > access the APK directly.  They are read-only directories, and they
> > basically are used to access static files.  They also tend to be buggy
> > as all hell, so YMMV.
> >
> > On Fri, Feb 28, 2014 at 1:54 PM, Joe Bowser <bowserj@gmail.com> wrote:
> > > Can't you just use an XHR to this URI:
> > > file://android_res/xml/config.xml?
> > >
> > >
> > >
> > > On Fri, Feb 28, 2014 at 1:48 PM, Jesse <purplecabbage@gmail.com>
> wrote:
> > >> They seem to be in the root iOS, android, and windows phone.
> > >>
> > >> NSString* path = [[NSBundle mainBundle] pathForResource:@"config"
> > ofType:
> > >> @"xml"];
> > >>
> > >> int id = action.getResources().getIdentifier("config", "xml", action.
> > >> getClass().getPackage().getName());
> > >>
> > >> *StreamResourceInfo streamInfo = Application.GetResourceStream(new
> > >> Uri("config.xml", UriKind.Relative));*
> > >>
> > >>
> > >>
> > >> @purplecabbage
> > >> risingj.com
> > >>
> > >>
> > >> On Fri, Feb 28, 2014 at 1:21 PM, Andrew Grieve <agrieve@chromium.org>
> > wrote:
> > >>
> > >>> config.xml isn't in the www/ on all platforms.
> > >>>
> > >>>
> > >>> On Fri, Feb 28, 2014 at 4:15 PM, Jesse <purplecabbage@gmail.com>
> > wrote:
> > >>>
> > >>> > 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();
> > >>> > }
> > >>> >
> > >>> > @purplecabbage
> > >>> > risingj.com
> > >>> >
> > >>> >
> > >>> > On Fri, Feb 28, 2014 at 1:06 PM, Michal Mocny <mmocny@chromium.org
> >
> > >>> wrote:
> > >>> >
> > >>> > > Now that I look a bit deeper, that plugin I only returns
> > <preferences>
> > >>> > > specifically, not the entire contents of config.xml (name
is not
> a
> > >>> > > <preference>).
> > >>> > >
> > >>> > > It also does not currently implement a way to inspect all
> > preferences,
> > >>> > just
> > >>> > > has a way to get the value for a specific one.
> > >>> > >
> > >>> > > I do think it would be a good idea to just have one core
plugin
> > >>> (perhaps
> > >>> > > extend that one I linked) to include all config file values.
> > >>> > >
> > >>> > > Filed: https://issues.apache.org/jira/browse/CB-6139
> > >>> > >
> > >>> > > -Michal
> > >>> > >
> > >>> > >
> > >>> > > On Fri, Feb 28, 2014 at 3:57 PM, Michal Mocny <
> mmocny@chromium.org
> > >
> > >>> > wrote:
> > >>> > >
> > >>> > > > David already wrote a plugin for this a few months ago
for us
> to
> > use
> > >>> in
> > >>> > > > the test harness:
> > >>> > > >
> > >>> > >
> > >>> >
> > >>>
> >
> https://github.com/apache/cordova-labs/tree/cdvtest/cordova-plugin-appsettings
> > >>> > > >
> > >>> > > > I think he planned on proposing it for core but there
was never
> > >>> really
> > >>> > a
> > >>> > > > reason for it.  I guess now's a good time to get that
going.
> > >>> > > >
> > >>> > > > On Fri, Feb 28, 2014 at 3:39 PM, Andrew Grieve <
> > agrieve@chromium.org
> > >>> > > >wrote:
> > >>> > > >
> > >>> > > >> Certainly a reasonable thing to want to do, but
there's no way
> > >>> > currently
> > >>> > > >> short of writing a custom plugin, or a post-prepare
hook.
> > >>> > > >>
> > >>> > > >>
> > >>> > > >>
> > >>> > > >> On Fri, Feb 28, 2014 at 3:34 PM, Axel Nennker <
> > >>> ignisvulpis@gmail.com>
> > >>> > > >> wrote:
> > >>> > > >>
> > >>> > > >> > Hi,
> > >>> > > >> >
> > >>> > > >> > I fear this is a stupid question but I could
not find the
> > answer
> > >>> in
> > >>> > > the
> > >>> > > >> > cordova docs or on the net or reading the source
(Luke).
> > >>> > > >> >
> > >>> > > >> > As an app developer and cordova user how do
I get data from
> > >>> > > config.xml?
> > >>> > > >> >
> > >>> > > >> > We want to add an "about" page to an cordova
app and could
> not
> > >>> find
> > >>> > a
> > >>> > > >> > simple javascript way to get to things like
author, id,
> > version,
> > >>> > name
> > >>> > > or
> > >>> > > >> > description from config.xml.
> > >>> > > >> > Writing a plugin seems to be overkill. Using
the file or
> > >>> > file-transfer
> > >>> > > >> > plugins is heavy lifting too.
> > >>> > > >> >
> > >>> > > >> > Shouldn't there be a way to write cordova.config.name
to
> get
> > the
> > >>> > > >> contents
> > >>> > > >> > of the name element in config.xml?
> > >>> > > >> >
> > >>> > > >> > Someone added "metadata" to cordova_plugins.js.
> > >>> > > >> > Maybe we could add something similar to cordova.js
too?
> > >>> > > >> >
> > >>> > > >> > Does this make sense?
> > >>> > > >> >
> > >>> > > >> > Thanks
> > >>> > > >> > Axel
> > >>> > > >> >
> > >>> > > >>
> > >>> > > >
> > >>> > > >
> > >>> > >
> > >>> >
> > >>>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message