gpt4 book ai didi

javascript - jQuery BBQ 使用 jQuery 2 生成错误

转载 作者:太空狗 更新时间:2023-10-29 16:06:57 24 4
gpt4 key购买 nike

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,因为谷歌搜索将我带到了这个以前回答过的问题: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 问题,嗯?

最佳答案

很高兴您的问题得到了解决(1 年前!)。但对于遇到此问题的任何其他人:

正如您在 this answer 中看到的那样这个问题是由 $.browser 引起的,它在 1.3 版中被弃用并在 1.9 中被删除。

但你可以很简单地解决这个问题。只需打开 jquery bbq 源并搜索 f.msie(像 h = f.msie 一样使用)并将其替换为:

( navigator.appName == 'Microsoft Internet Explorer') ? true : false

(现在你必须有 h = ( navigator.appName == 'Microsoft Internet Explorer') ? true : false )

关于javascript - jQuery BBQ 使用 jQuery 2 生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23074644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com