【问题标题】:Uncaught TypeError: Object [object Object] has no method 'fancybox'Uncaught TypeError: Object [object Object] has no method 'fancybox'
【发布时间】:2013-12-25 03:48:58
【问题描述】:

我的页面上出现这些错误:

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

在我的页面中,我使用的主题已经使用了一个 jQuery 库,但 FancyBox 正在为自己使用另一个自定义的 jQuery 库。这是我的头部细节:

<link rel="stylesheet" href="css/bootstrap.css" type="text/css" media="screen">
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
<link rel="stylesheet" type="text/css" href="css/responsive.css" media="screen">

<!---->
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="fancybox/lib/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="js/jquery.migrate.js"></script>
<script type="text/javascript" src="js/jquery.imagesloaded.min.js"></script>
<script type="text/javascript" src="js/jquery.isotope.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="js/gmap3.min.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script type="text/javascript" src="js/script.js"></script>

<!-- Add fancyBox main JS and CSS files -->
<script type="text/javascript" src="fancybox/source/jquery.fancybox.js?v=2.1.5"></script>
<link rel="stylesheet" type="text/css" href="fancybox/source/jquery.fancybox.css?v=2.1.5" media="screen" />

<!-- Add Button helper (this is optional) -->
<link rel="stylesheet" type="text/css" href="fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.5" />
<script type="text/javascript" src="fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>

<!-- Add Thumbnail helper (this is optional) -->
<link rel="stylesheet" type="text/css" href="fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" />
<script type="text/javascript" src="fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>

<!-- Add Media helper (this is optional) -->
<script type="text/javascript" src="fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6"></script>

我用谷歌搜索过这个问题,但没有解决方案。

【问题讨论】:

  • 检查你的路径,fancybox js 似乎没有加载。此外,您不需要两个 jQuery 实例,fancybox 将与您用于其他插件的单个版本一起使用(fancybox 本身不使用自定义的 jQuery 库
  • 任何时候出现这些错误,这也是一个冲突或引用问题。如果直接使用包库,则有 99% 的时间。

标签: javascript jquery jquery-plugins fancybox


【解决方案1】:

使用$.noConflict() 进行检查。我之前遇到过这个问题。加载第一个库,并以不同的名称保存它。

window.oldJquery = $.noConfilict() ans 然后加载新的 jQuery。两者都使用,当你需要时,如果你使用旧的 jQuery,使用oldJquery而不是$

【讨论】:

  • 这是个好主意。关于“noConflict”。
  • +1 : 或者只是将别名 $ 替换为 jQuery。 OP 没有显示其自定义的 fancybox 初始化,但这可能是问题的另一个来源。虽然他可能不需要两个版本的jQuery
  • 主要问题是主题需要 。如果没有这个库,主题就会分崩离析。所以我不能忽略那个。
  • @WillY : 尝试删除&lt;script type="text/javascript" src="fancybox/lib/jquery-1.10.1.min.js"&gt;&lt;/script&gt;,但不要同时保留
  • @JFK 如果我删除 fancybox 将无法工作。还有什么办法吗?
【解决方案2】:

我从未使用过 FancyBox 库,但如果您的引用顺序不正确,就会出现这种情况。因此,该库可能依赖于您稍后引用的库,或者它正在被通配。稍后在参考链接中移动对它的参考。

我会假设你的 jQuery 库太旧了,或者你的 jQuery 库实际上没有被引用。

【讨论】:

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