【问题标题】:jQuery BBQ generates error with jQuery 2jQuery BBQ 使用 jQuery 2 生成错误
【发布时间】:2015-10-25 13:56:53
【问题描述】:

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 问题的原因,嗯?

【问题讨论】:

  • 我不同意。如果问题是由 jQuery-BBQ 维护者提出的,那将是重复的——显然没有。虽然手动修补第 3 方组件并非不可能,但不使用 jQuery-BBQ 而是使用 window.location.hash 会简单得多。

标签: javascript jquery html jquery-bbq


【解决方案1】:

很高兴您的问题得到了解决(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

【讨论】:

    【解决方案2】:

    对我有用的语法是:

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

    或者如果用作“if”开关的一部分...

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-07
      相关资源
      最近更新 更多