jQuery Mobile 1.2.0 Release Candidate 1 Released
The jQuery Mobile team is excited to announce the first release candidate for 1.2.0. We only had a few serious bugs come in with our recent beta release now that those are patched up, we’re moving on the RC1. There are a ton of great new features in 1.2 so if you haven’t read up, see the 1.2 alpha blog post for full details, we’re just going to cover what’s new here.
Note: jQuery core 1.8.x with BB 5 and iOS 3 = C grade experience
In jQuery core 1.8.0, the team removed a lot of old offset code in favor of
window.webkitConvertPointFromNodeToPage() which are very widely supported. John Resig even wrote a blog post about the wonders of
getBoundingClientRect() and we think this was a smart move because it cut a lot of code weight.
The one downside of this change is that Blackberry 5 and iOS 3 don’t support either of these more modern methods. When we tested jQuery Mobile on these platforms with 1.8.x, there were errors that broke the page because we use
getBoundingClientRect() for the loader, popup and slider.
We’ve been coordinating with the core team to find a fix and in the forthcoming jQuery core 1.8.2 release,
getBoundingClientRect() will return 0,0 if not supported to at least avoid errors. We’ve been looking to find ways to work around this method in our widgets but we’re concerned about adding a lot of code bloat to support these older browsers.
As of now, we’ve added in a small bit of code to detect if jQuery core 1.8+ and lack of suport for
getBoundingClientRect() and don’t enhance the page in these cases. That means that if you use 1.8.x with jQuery Mobile, BB5 and iOS3 will receive the C Grade experience (basic HTML). We’re assessing our policy on what grade we should have for browsers that jQuery core doesn’t support anymore so stay tuned on that front.
Change log (since 1.2 beta)
Remove explicit left and right margin 0 to allow margins when used in grid
– CSS improvement for checkboxes and radios to look more graceful when placed in grids.
Moves fixed positioning blacklist to jquery.mobile.support.js – Made the frameworks browser detection for fixed positioning support a central component.
Increase the level of specificity of the margin 0 rule for listview buttons to avoid margins when used in grid (Issue: #4945)
– CSS improvement for listviews to be more solid when placed in grids.
Abstract backward movement in history (Issue: #4950)
– “window.history.back” doesn’t work in phonegap applications after a page refresh, though it does work under hashchange/replacestate. The solution is to use their “navigator.app.backHistory” method along with a configuration option. The reasoning for the option is to prevent any corner cases popping up with existing phonegap applications. Forward history movement for the same usecase is _not_ addressed but remains an even lower priority.
Adding header/content/footer border support for popups (Issue: #5000)
– Adds corner support for header/content/footer container inside popups having
data-corners attribute set to
Do not forget about the no-history-manipulation case when calling _open()
– Popups open method improvement when no-history feature is used.
Perform the visual open only when the nav hook has been acquired (Issue: #4949)
– Fixed an iOS popup / custom select positioning issue.
Increase level of specificity to avoid conflicts when sliders used in a grid (Issue: #4944)
– CSS improvement for sliders to be more solid when placed in grids.
- Uncompressed: jquery.mobile-1.2.0-rc.1.js (useful for debugging)
- Minified and Gzipped: jquery.mobile-1.2.0-rc.1.min.js (24KB, ready to deploy)
- Uncompressed with Default theme: jquery.mobile-1.2.0-rc.1.css (useful for debugging)
- Minified and Gzipped with Default theme: jquery.mobile-1.2.0-rc.1.min.css (7KB, ready to deploy)
- Uncompressed structure without a theme: jquery.mobile-1.2.0-rc.1.css (useful for theme development)
- Minified and Gzipped structure without a theme: jquery.mobile-1.2.0-rc.1.min.css (6KB, ready to deploy)
Copy-and-Paste Snippet for CDN-hosted files (recommended):
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0-rc.1/jquery.mobile-1.2.0-rc.1.min.css" /> <script src="http://code.jquery.com/jquery-1.8.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.2.0-rc.1/jquery.mobile-1.2.0-rc.1.min.js"></script>
If you want to host the files yourself you can download a zip of all the files:
Microsoft CDN hosted jQuery Mobile files:
Fork jQuery Mobile on GitHub