【问题标题】:Uncaught TypeError: Object [object Object] has no method "fancybox"Uncaught TypeError: Object [object Object] has no method "fancybox"
【发布时间】:2014-07-18 20:40:29
【问题描述】:

fancybox(2.x) 有一个很奇怪的问题。我使用这个脚本已经很久了,但我以前没有遇到过这样的问题。

所以,我有网站:http://tinyurl.com/6mx7an8,并且按照手册的说明,我已经包含了每个 jquery/fancybox 文件,但是 JS 控制台给了我错误

Uncaught TypeError: Object [object Object] has no method 'fancybox'

你知道我做错了什么吗? 任何帮助将不胜感激:)

【问题讨论】:

    标签: javascript jquery fancybox


    【解决方案1】:

    您的网站存在几个问题。

    1. 您在包含fancybox 插件js 前后两次包含jQuery 库,因此添加的插件会被第二个jQuery 库包含清除。
    2. 还有一些其他库覆盖了$,因此您的代码无法正常工作,因为$ 不再是jQuery 的别名。您可以使用jQuery.noConflict() 来避免与页面上使用相同变量$ 的其他库发生冲突。

    【讨论】:

    • 是的,它是由包含两次的 jquery 库引起的(我没有注意到)。谢谢!
    • 是的,我没注意到,thanx 和 +1
    • 这是正确的。添加两个 jquery 库会导致此冲突。
    【解决方案2】:

    看起来 jQuery 包含了两次,一次靠近头顶,一次靠近底部。

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题。不知何故,jQuery 被加载了两次。结果是,在测试某些东西时,我添加了一个 drupal_add_js 行来在一个块中加载 jquery,该块被禁用,但 Drupal 仍然在禁用块中评估 PHP。

      当我从块中删除 drupal_add_js 行时,jQuery 加载正常,每页一次。

      【讨论】:

        【解决方案4】:

        我的网站上有一个 css unify php 脚本,它将 jquery 和 jquery postmessage 插件添加到同一个 javascript 文件中。

        所以它给了我上面的错误。

        我已经单独加载了 jquery postmessage 而没有统一它,它停止给我错误。

        【讨论】:

          【解决方案5】:

          我得到了它与这个代码一起工作

          <script type="text/javascript">
              (function( $ ) {   
                  $(document).ready( function( ) {  
                      $("a#fancyBoxLink").fancybox({
                          'href'   : '#popupvid',
                          'titleShow'  : false,
                          'transitionIn'  : 'elastic',
                          'transitionOut' : 'elastic'
                      });
          
                  });
              })(jQuery);      
          </script>
          

          【讨论】:

            【解决方案6】:

            jquery 子库可能包含在主库中,例如 jquery.ui.sortable.js 我在下载时包含在 jquery-ui.js 中,我再次添加它给我一个错误。

            script type="text/javascript" src="vendor/js/jquery-ui.js">

            script type="text/javascript" src="vendor/js/jquery.ui.sortable.js">

            所以验证是否包含子库

            【讨论】:

              猜你喜欢
              • 2013-12-25
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-08-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多