jQuery BBQ noob の質問: jQuery BBQ 1.2.1 をダウンロードして、jQuery 2.1.0 で使用しようとしています。BBQ は、やりたいことを実行するという意味では機能しますが、コンソールにエラー メッセージが表示されることに気付きました。互換性の問題と思われるものまで追跡しました。エラーを生成するサンプル HTML ページを次に示します。
<!DOCTYPE HTML>
<html>
<head>
<title>example</title>
</head>
<body>
example
</body>
<script src="../js/lib/jquery-2.1.0.min.js"></script>
<script src="../js/lib/jquery.ba-bbq.min.js"></script>
</html>
Firefox のコンソール エラーはTypeError: f is undefined
. Chrome では、エラーは異なります: Uncaught TypeError: Cannot read property 'msie' of undefined
.
jQuery BBQ がかなり古いことに気付きました。jQuery BBQ の新しいリビジョンはありますか? または、新しい代替ライブラリがありますか?
アップデート
jQuery BBQ を使用しているのは、Google 検索で以前に回答された質問: Parsing URL hash/fragment identifier with JavaScriptに送信されたためです。私が解決しようとしている実際の問題は、リンクされた質問と同じです: URI のハッシュ部分の変更に対応し、そのフラグメントを解析することです。
私の目的のために (これまでのところ)、jQuery BBQ を排除し、ハッシュ文字列を取得する (そしてハッシュ記号を削除する) ためのコードを数行書くことができることがわかりました。
$(window).bind('hashchange', function() {
var hashString = window.location.hash || '';
hashString = hashString.replace("#",'');
myEventHandler(hashString);
});
それは今のところうまくいきます。これは非常にシンプルで、モジュールの依存関係が 1 つ少ないため、win-win です。jQuery-BBQ の質問に回答がなかったのはそのためだと思います。