I'm of the opinion this isn't a Cordova problem----but I do think device capabilities introspection is. (Which is related.)
On Mon, Dec 3, 2012 at 11:45 PM, Gord Tanner <[email protected]> wrote: > I am having a hard time making this seem like a Cordova problem. > > There are many different and easy ways to fix this for the developer but I > can't see a good way for us to handle it. > > Do we create a Cordova.web.js that a developer can include on their server? > > It would enable as much as it can (geo, accel via devicemotion) and fire > deviceready? > > Sent from my iPhone > > On 2012-12-03, at 6:30 PM, Max Ogden <[email protected]> wrote: > >> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 >>>>>> <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 < >>> [email protected] >>>>>> >>>>>>>>> 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 <[email protected] >>>> >>>>>> 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 <[email protected]> >>> 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 < >>> [email protected]> >>>>>>>>> wrote: >>>>>>>>>>>>> So the bigger question then is how to handle the differences >>> ... >>>>>>>>>>>>> >>>>>>>>>>>>> On Fri, Nov 30, 2012 at 4:04 PM, Filip Maj <[email protected]> >>>>> 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" <[email protected]> >>> 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 < >>> [email protected]> >>>>>> 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 < >>>>>> [email protected]> >>>>>>>>> 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 < >>> [email protected] >>>>>> >>>>>>>>> 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 < >>> [email protected]> >>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I think in BB WEbWorks you get >>>>>>>>> http://localhost/somethingsoemthing >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On 11/30/12 3:35 PM, "Shazron" <[email protected]> >>> 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 >>>
