actual code from gather: if (inBrowser()) setTimeout(function() { app.emit('deviceReady') }, 50)
right now inBrowser looks at window.location.href and fires the event if it isnt in phonegap. but I use the inBrowser function elsewhere to determine what login strategy to use (see my previous messages). if phonegap fires deviceready for me I still won't know if i'm in phonegap or not On Mon, Dec 3, 2012 at 3:06 PM, Brian LeRoux <b...@brian.io> wrote: > So, would that not be deviceready? (I get that those apps that run in > browser probably fake this event but, if thats the case, then the > faking would be a userland place to put that sort of thing.) > > On Mon, Dec 3, 2012 at 10:54 PM, Max Ogden <m...@maxogden.com> wrote: > > I dont think modifying the UA is a good idea but I strongly believe that > > cordova needs to set *something* that is immediately available from > browser > > JS on app load that says "hi you're running in cordova" > > > > > > On Mon, Dec 3, 2012 at 1:31 PM, Anis KADRI <anis.ka...@gmail.com> wrote: > > > >> 1) Set a specific UA string like the wikimedia guys do (even tough they > do > >> it for other reasons). > >> 2) I remember us talking about a capabilities api. Not sure what > transpired > >> from that discussion. > >> > >> > >> On Mon, Dec 3, 2012 at 1:29 PM, Brian LeRoux <b...@brian.io> wrote: > >> > >> > Back to our original thread. I'm seeing a couple of scenarios. > >> > > >> > 1. wants to do analytics reporting (needs user agent) > >> > 2. wants to do be capability responsive (needs to see if there are > >> > device apis, usually a specific capability/api combo such as camera) > >> > > >> > Thoughts? > >> > > >> > > >> > On Mon, Dec 3, 2012 at 9:10 PM, Simon MacDonald > >> > <simon.macdon...@gmail.com> wrote: > >> > > 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 <m...@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.br...@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 <gtan...@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 <purplecabb...@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 < > purplecabb...@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 <f...@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" <purplecabb...@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 < > shaz...@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 < > >> > purplecabb...@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 < > shaz...@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 < > f...@adobe.com> > >> > >>> wrote: > >> > >>> >>>>>>>>> > >> > >>> >>>>>>>>>> I think in BB WEbWorks you get > >> > >>> http://localhost/somethingsoemthing > >> > >>> >>>>>>>>>> > >> > >>> >>>>>>>>>> On 11/30/12 3:35 PM, "Shazron" <shaz...@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 > >> > >>> > >> > > >> >