jQueryでlocation.hashが変わった時にイベントを発生させるプラグイン(hashchange)
2014年10月4日
ちょいと古いプラグインで更新もされてないようですが、修正すればIEでも動くようだったので試してみた。
Ben Alman » jQuery hashchange event
プラグインの読み込み
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="/lib/jquery.ba-hashchange.js"></script>
これで、$(window).hashchangeが使えるようになります。
つかってみる
location.hash = 'hogehoge'; $(window).hashchange( function(){ alert( location.hash ); });
hashが変更になったら、イベントが発生します。
修正箇所
jQuery1.9系以降を使う場合
このプラグインは内部的に
$.browser.msie
を使ってるんですが、$.browserは、1.9以降使えないので、$.supportに変更。
$.browser.msie && !supports_onhashchange && (function(){ ↑を $.support.msie && !supports_onhashchange && (function(){ ↑に書き換え
これで一応IEでも動くようです。
参考サイト:jQueryのAjaxやタブ切替などでブラウザの「戻る」「進む」が有効になる「hashchangeプラグイン」(実装解説つき): 小粋空間