jQuery BBQ 菜鸟问题:我已经下载了 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);
});
所以现在可以了。它非常简单,并且它减少了一个模块依赖,因此是双赢的。我想这就是为什么没有回答 jQuery-BBQ 问题的原因,嗯?