Opera, Firefox and IE compatibility
I noticed the second demo (the one with several screens) not working on Firefox (desktop) and opera mobile. Looking through the generated javascript, I noticed that “-webkit-transform” is used several times, but I could not find the unprefixed version or versions with other vender prefixes. Such a shame, a “portable” application that’s basically webkit-only, while other (also mobile!) browsers can do the exact same thing with minimal effort.
I’d like to see this fixed so mobl becomes more portable.
PS: everybody else is also doing it, which is why other browser vendors are about to implement -webkit-features. It may be the new IE6/quirksmode, which was horrible. Plz to fix.
Submitted by Daan Wilmer on 21 February 2012 at 18:37
Issue Log
We are currently looking at mobile devices. The biggest marktshare of mobile devices(IOS/Android/Blackberry OS) are based on Webkit engines. Therefor we specialise on that part.
When this fact change we would concider other options
Note that a future version will report a warning when you try to view mobl with an unsupported browser: mobl/255
I’d be happy to help making it more cross-browser. I have some experience with cross-browser frontend development, and as far as I have seen now it should not be too hard (mostly because webkit pretty much follows the standards).
We’ve did a very small amount of work regarding that. See e.g. http://github.com/simlike/mobl-lib/commit/b3525323a2b36551b86f977585b926f3e4cc9bb3
(The simlike/mobl-lib repo essentially exists for our very specific purposes, which means that pull requests are going to be awkward. E.g., we’re probably going to disable the whole persistence part of mobl.)Other things to consider for browser compatibility:
- JS is served as “application/x-javascript” which doesn’t play particularly well with IE.
- The defineGetter/defineSetter (unofficial?) extensions are used for which there is no IE-equivalent – Object.defineProperty only works on IE>=8 and DOM elements. It’s probably not too big of a problem to explicitly use the getters and setters everywhere (so you can add them as regular functions to the prototype) right?
- Using a newer version of jQuery would be nice.
Indeed that are some of the fixxes for UI part, however we like to keep the persistence part of mobl, wich is currently the biggest problem of browser compatibility.
An update of jQuery, I have to look if this doesn’t braek to much
I’m currently using mobl for a project that doesn’t need local persistence but uses a ReSTful backend instead, so everything is kept locally in types (using the type construct) and we don’t actually need persistence.js.
Maybe it’s an idea to introduce a global switch in config.mobl which switches off/on persistence? (You’d have to introduce some conditionally on the load and resource constructs, though.)
Log in to post comments