Compatibility/Mobile/Libraries

From MozillaWiki
Jump to: navigation, search

Mobile Frameworks and Libraries

This wiki exists to document some of the research that the Web Compat team is doing around compatibility with existing and new (mobile) libraries and frameworks (i.e., jQuery Mobile, Zepto). Feel free to add links to issues or bugs, or start a new section. The end goal is to document current compatibility with Firefox OS and Firefox for Android and advocate within Mozilla for fixes to libraries where compatibility can be improved upon.

The commitgrep tool may be useful in this line of research.

jQuery

jQuery Mobile

Zepto.js

  • "webkit will report a proper scrollTop() value on $('body') but will always be 0 on $('html') and FF will report a proper scrollTop() value on $('html') but will always be 0 on $('body')."

Sencha Touch

Tracking bug https://bugzilla.mozilla.org/show_bug.cgi?id=895485

Testing with Sencha Touch 2.3.0 (GPL): http://www.sencha.com/products/touch/download/sencha-touch-2.3.0/2920

"Sencha Touch is the only framework that enables developers to build powerful apps that work on iOS, Android, BlackBerry, Windows Phone, and Internet Explorer 10."

JS / DOM

CSS

Note: these would all be fixed in the themes/stylesheets/sencha-touch/base/src/_Foo.scss files (I think).

Testing

Using the demos at https://miketaylr.com/bzla/tmp/examples/index.html for testing. Issues found so far:

iScroll

Tracking bug: https://bugzilla.mozilla.org/show_bug.cgi?id=941076

0 results from commitgrep, http://miketaylr.github.io/commitgrep/iscroll.html

Other than that, version 5 (and the demos) seems to work well. Version 4 and below are totally broken. So we should encourage sites to upgrade when possible.

Fastclick

https://github.com/ftlabs/fastclick

See https://bugzilla.mozilla.org/show_bug.cgi?id=975467, the root cause being us sending double click events in some Fastclick code.

App.js

http://code.kik.com/app/2/index.html Note: "It is advised that you run your app in Chrome while simulating a mobile platform that you're targeting. Don't forget to turn on touch event emulation." in the docs.