cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Max Ogden <...@maxogden.com>
Subject Re: Determining if "you're in cordova"
Date Mon, 03 Dec 2012 19:40:13 GMT
In Gather we have a login page that uses childbrowser popup windows for
oauth if its running in phonegap or popup windows in javascript if in
browser. It would be nice childbrowser polyfilled target="_blank" (which I
understand is happening in the future) but as for now the heuristics for
detecting which strategy to use boil down to sniffing window.location.href
which isn't ideal:

- if I open my apps index.html in chrome it will have a file:// url but
wont be in phonegap.
- if I hardcode a domain into my app so that it knows if it is running from
a server its another thing to remember to update every time the domain name
changes
- I already do conditional loading of stylesheets and JS based on user
agent. I think it would be super useful if there was a user agent
equivalent for cordova so the code could decide what to do based on
environment and not guesses based on href


On Sun, Dec 2, 2012 at 11:30 AM, Brian LeRoux <b@brian.io> wrote:

> Eh Fil, is this so they can detect if they have device apis ultimately?
>
> On Sat, Dec 1, 2012 at 1:31 AM, Bryce Curtis <curtis.bryce@gmail.com>
> wrote:
> > I think the answer depends upon when the app checks to see if it is
> > running in cordova webview.  If it is loading a remote url with remote
> > cordova.js, then the native side will become available well before
> > cordova.js finished loading.  So, I would either check for
> > device.cordova or register for deviceready and wait for it to fire.
> >
> > On Fri, Nov 30, 2012 at 5:53 PM, Gord Tanner <gtanner@gmail.com> wrote:
> >> +1
> >>
> >> This isn't a platform issue but rather a developer issue
> >>
> >> Sent from my iPhone
> >>
> >> On 2012-11-30, at 7:11 PM, Jesse <purplecabbage@gmail.com> wrote:
> >>
> >>> Presumably the developer knows the url of their own server, so
> >>> wouldn't it be easier to just test for that in window.location?
> >>>
> >>> On Fri, Nov 30, 2012 at 4:07 PM, Jesse <purplecabbage@gmail.com>
> wrote:
> >>>> So the bigger question then is how to handle the differences ...
> >>>>
> >>>> On Fri, Nov 30, 2012 at 4:04 PM, Filip Maj <fil@adobe.com> wrote:
> >>>>> It is to run a single codebase (or as close to it as possible minus
> the
> >>>>> differences in cordova.js) across web and cordova apps.
> >>>>>
> >>>>> On 11/30/12 4:02 PM, "Jesse" <purplecabbage@gmail.com> wrote:
> >>>>>
> >>>>>> Can we back up and discuss the goal?
> >>>>>>
> >>>>>> Is it to use the same code on the server + inside an app ( that
is
> >>>>>> packaged for multiple platforms ) ?
> >>>>>> OR
> >>>>>> Is it to load an app on multiple devices all served by the same
> server?
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Fri, Nov 30, 2012 at 3:56 PM, Shazron <shazron@gmail.com>
wrote:
> >>>>>>> Its yucky and may break in a future platform version, but
since
> each
> >>>>>>> platform requires its own cordova.js -- then each platform
could
> define
> >>>>>>> its
> >>>>>>> own cordova.isWebView?
> >>>>>>>
> >>>>>>> wp7 is x-wmapp
> >>>>>>> iOS is file://
> >>>>>>> BB is http://localhost
> >>>>>>> Android is ?
> >>>>>>>
> >>>>>>>
> >>>>>>> On Fri, Nov 30, 2012 at 3:49 PM, Jesse <purplecabbage@gmail.com>
> wrote:
> >>>>>>>
> >>>>>>>> WP7 app is loaded from x-wmapp1:/
> >>>>>>>> WP8 app is loaded from x-wmapp0:/
> >>>>>>>>
> >>>>>>>> So file:// will not work
> >>>>>>>>
> >>>>>>>> There are probably numerous other approches ...
> >>>>>>>> deviceready will/should never fire, but that is difficult
to test
> for,
> >>>>>>>> because it could just be taking a real long time.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> I see many issues with this though:
> >>>>>>>> - each platform still requires it's own cordova.js,
so this would
> only
> >>>>>>>> work with 1 platform + a webserver, so no idea we come
up for this
> >>>>>>>> will solve the bigger problem.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Fri, Nov 30, 2012 at 3:46 PM, Shazron <shazron@gmail.com>
> wrote:
> >>>>>>>>> document.location starts with http://localhost OR
starts with
> file://
> >>>>>>>> then?
> >>>>>>>>> ;)
> >>>>>>>>> In any case, any js variable that we could set can
be overridden
> of
> >>>>>>>> course.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Fri, Nov 30, 2012 at 3:38 PM, Filip Maj <fil@adobe.com>
> wrote:
> >>>>>>>>>
> >>>>>>>>>> I think in BB WEbWorks you get
> http://localhost/somethingsoemthing
> >>>>>>>>>>
> >>>>>>>>>> On 11/30/12 3:35 PM, "Shazron" <shazron@gmail.com>
wrote:
> >>>>>>>>>>
> >>>>>>>>>>> "how do we know if we're in cordova or not?"
-->
> document.location
> >>>>>>>> starts
> >>>>>>>>>>> with file:// ?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> @purplecabbage
> >>>>>>>> risingj.com
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> @purplecabbage
> >>>>>> risingj.com
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> @purplecabbage
> >>>> risingj.com
> >>>
> >>>
> >>>
> >>> --
> >>> @purplecabbage
> >>> risingj.com
>

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