Permalink
Browse files

Incorporated jQuery hashchange event 1.2, updated unit tests to inclu…

…de jQuery 1.4.2, added jQuery.param.fragment.noEscape method
  • Loading branch information...
1 parent c8df2d1 commit 98a81576b98e966e03be921b36965ef444c409dd @cowboy cowboy committed Feb 17, 2010
View
@@ -1,7 +1,7 @@
# jQuery BBQ: Back Button & Query Library #
[http://benalman.com/projects/jquery-bbq-plugin/](http://benalman.com/projects/jquery-bbq-plugin/)
-Version: 1.1.1, Last updated: 1/22/2010
+Version: 1.2, Last updated: 2/16/2010
jQuery BBQ enables simple, yet powerful bookmarkable #hash history via a cross-browser window.onhashchange event. In addition, jQuery BBQ provides a full jQuery.deparam() method, along with both fragment and query string parse and merge utility methods.
@@ -27,20 +27,37 @@ tested with, what browsers it has been tested in, and where the unit tests
reside (so you can test it yourself).
### jQuery Versions ###
-1.3.2, 1.4.1
+1.3.2, 1.4.1, 1.4.2
### Browsers Tested ###
-Internet Explorer 6-8, Firefox 2-3.7, Safari 3-4, Chrome, Opera 9.6-10.1.
+Internet Explorer 6-8, Firefox 2-3.7, Safari 3-4, Chrome 4-5, Opera 9.6-10.1.
### Unit Tests ###
[http://benalman.com/code/projects/jquery-bbq/unit/](http://benalman.com/code/projects/jquery-bbq/unit/)
+## Known issues ##
+
+While the included jQuery hashchange event implementation is quite stable and robust, there are a few unfortunate browser bugs surrounding expected hashchange event-based behaviors, independent of any JavaScript window.onhashchange abstraction. See the following examples for more information:
+
+Chrome: Back Button
+[http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/](http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/)
+
+Firefox: Remote XMLHttpRequest
+[http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/](http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/)
+
+WebKit: Back Button in an Iframe
+[http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/](http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/)
+
+Safari: Back Button from a different domain
+[http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/](http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/)
+
## Release History ##
-1.1.1 - (1/22/2010) Integrated <jQuery hashchange event> v1.1, which fixes an obscure IE8 EmulateIE7 meta tag compatibility mode bug.
-1.1 - (1/9/2010) Broke out the jQuery BBQ event.special window.onhashchange functionality into a separate plugin for users who want just the basic event & back button support, without all the extra awesomeness that BBQ provides. This plugin will be included as part of jQuery BBQ, but also be available separately. See jQuery hashchange event plugin for more information. Also added the $.bbq.removeState method.
-1.0.3 - (12/2/2009) Fixed an issue in IE 6 where location.search and location.hash would report incorrectly if the hash contained the ? character. Also $.param.querystring and $.param.fragment will no longer parse params out of a URL that doesn't contain ? or #, respectively.
+1.2 - (2/16/2009) Integrated jQuery hashchange event v1.2, which fixes a Safari bug, the event can now be bound before DOM ready, and IE6/7 page should no longer scroll when the event is first bound. Also added the jQuery.param.fragment.noEscape method.
+1.1.1 - (1/22/2010) Integrated jQuery hashchange event v1.1, which fixes an obscure IE8 EmulateIE7 meta tag compatibility mode bug.
+1.1 - (1/9/2010) Broke out the jQuery BBQ event.special hashchange event functionality into a separate plugin for users who want just the basic event & back button support, without all the extra awesomeness that BBQ provides. This plugin will be included as part of jQuery BBQ, but also be available separately. See jQuery hashchange event plugin for more information. Also added the jQuery.bbq.removeState method and added additional jQuery.deparam examples.
+1.0.3 - (12/2/2009) Fixed an issue in IE 6 where location.search and location.hash would report incorrectly if the hash contained the ? character. Also jQuery.param.querystring and jQuery.param.fragment will no longer parse params out of a URL that doesn't contain ? or #, respectively.
1.0.2 - (10/10/2009) Fixed an issue in IE 6/7 where the hidden IFRAME caused a "This page contains both secure and nonsecure items." warning when used on an https:// page.
1.0.1 - (10/7/2009) Fixed an issue in IE 8. Since both "IE7" and "IE8 Compatibility View" modes erroneously report that the browser supports the native window.onhashchange event, a slightly more robust test needed to be added.
1.0 - (10/2/2009) Initial release

Large diffs are not rendered by default.

Oops, something went wrong.
View
@@ -11,9 +11,13 @@
-<div id=Index><div class=IPageTitle>Event Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; G &middot; H &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; <a href="#O">O</a> &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#window.onhashchange" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>onhashchange</a>, <span class=IParent>window</span></td></tr></table>
+<div id=Index><div class=IPageTitle>Event Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; G &middot; <a href="#H">H</a> &middot; I &middot; J &middot; K &middot; L &middot; M &middot; N &middot; <a href="#O">O</a> &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="H"></a>H</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#hashchange_event" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>hashchange event</a></td></tr><tr><td class=IHeading><a name="O"></a>O</td><td></td></tr><tr><td class=ISymbolPrefix id=IOnlySymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#window.onhashchange" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>onhashchange</a>, <span class=IParent>window</span></td></tr></table>
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CEvent>In 1.4 and newer, the event object that is passed into the callback is augmented with an additional e.fragment property that contains the current document location.hash state as a string, as well as an e.getState method.</div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CEvent>Fired when location.hash changes. </div></div><!--END_ND_TOOLTIPS-->
+
+
+<!--START_ND_TOOLTIPS-->
+<div class=CToolTip id="tt2"><div class=CEvent>In 1.4 and newer, the event object that is passed into the callback is augmented with an additional e.fragment property that contains the current document location.hash state as a string, as well as an e.getState method.</div></div><!--END_ND_TOOLTIPS-->
</div><!--Index-->
View
@@ -13,7 +13,7 @@
<div id=Index><div class=IPageTitle>File Index</div><div class=INavigationBar>$#! &middot; 0-9 &middot; A &middot; B &middot; C &middot; D &middot; E &middot; F &middot; G &middot; H &middot; I &middot; <a href="#J">J</a> &middot; K &middot; L &middot; M &middot; N &middot; O &middot; P &middot; Q &middot; R &middot; S &middot; T &middot; U &middot; V &middot; W &middot; X &middot; Y &middot; Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="J"></a>J</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery_BBQ:Back_ButtonQuery_Library" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>jQuery BBQ:<wbr>Back Button&amp;Query Library</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix>&nbsp;</td><td class=IEntry><a href="../files/jquery-ba-bbq-js.html#jQuery_hashchange_event" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>jQuery hashchange event</a></td></tr></table>
<!--START_ND_TOOLTIPS-->
-<div class=CToolTip id="tt1"><div class=CFile><b>Version: 1.1.1, Last updated: 1/22/2010</b></div></div><div class=CToolTip id="tt2"><div class=CFile><b>Version: 1.1, Last updated: 1/21/2010</b></div></div><!--END_ND_TOOLTIPS-->
+<div class=CToolTip id="tt1"><div class=CFile><b>Version: 1.2, Last updated: 2/16/2010</b></div></div><div class=CToolTip id="tt2"><div class=CFile><b>Version: 1.2, Last updated: 2/11/2010</b></div></div><!--END_ND_TOOLTIPS-->
</div><!--Index-->
Oops, something went wrong.

0 comments on commit 98a8157

Please sign in to comment.