jQuery Mobile 1.2.0 Release Candidate 1 Released

Posted on by

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.

Please help us test and report issues before we move to the final version. Try it now!

Demos & docs | Change log | Download & CDN

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 getBoundingClientRect() and 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)

Checkboxradio

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.

Core

Enabled box shadow support for BlackBerry OS 6+ (Issue: #4828)
– Fixed a text input issue on Blackberry 6 browsers where the input became black when it got focus.

Moves fixed positioning blacklist to jquery.mobile.support.js – Made the frameworks browser detection for fixed positioning support a central component.

Listview

Added missing webkit prefix for border-radius on Android 2.1 and iOS 3.2.

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.

Navigation

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.

Phonegap

Added a note to the docs about using underscores within foldernames in PhoneGap for Android (Issue: #4991)

Popup

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 true

Do not forget about the no-history-manipulation case when calling _open() 
– Popups open method improvement when no-history feature is used.

Exclude internal attributes from dom element (Issue: #4967)
– Fixed markup issue when popup is opened.

Perform the visual open only when the nav hook has been acquired (Issue: #4949)
– Fixed an iOS popup / custom select positioning issue.

Restrict the application of the exclusions to the recording of the new option value in the data-* attributes. Do still chain up to mobile.widget with every option. 
– Popup widget improvement.

Using “position: fixed” blacklist to fix popup overlays in browsers that know what they are doing with “position: fixed” to avoid monstrous overlays on long pages in some cases. 

Slider

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.

Download

CDN-Hosted JavaScript:

CDN-Hosted CSS:

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>

ZIP File:
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
https://github.com/jquery/jquery-mobile

4 thoughts on “jQuery Mobile 1.2.0 Release Candidate 1 Released

  1. Ben Danyi on said:

    For the first time it’s not flashing in a PhoneGap build. Finally! Please continue with the performance enhancements though!