cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon MacDonald <simon.macdon...@gmail.com>
Subject Re: Determining if "you're in cordova"
Date Mon, 03 Dec 2012 21:10:33 GMT
Yup, window.open(url, "_blank") will load the InAppBrowser which is
basically a renamed ChildBrowser that actually follows a spec for
events.
Simon Mac Donald
http://hi.im/simonmacdonald


On Mon, Dec 3, 2012 at 2:40 PM, Max Ogden <max@maxogden.com> wrote:
> 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
View raw message