【问题标题】:Fancybox 2 Object has no method error [duplicate]Fancybox 2 Object没有方法错误[重复]
【发布时间】:2013-02-09 19:44:02
【问题描述】:

我在我的 wordpress 网站上使用了 fancybox 2,它运行的时间最长,但最近它在这个页面(以及其他使用 fancybox 的页面)上没有运行http://haniabyanyacole.com/?page_id=110

这是我得到的错误:Uncaught TypeError: Object [object Object] has no method 'fancybox'

我环顾了其他 stackoverflow 页面,发现其他人也有类似的问题,主要是处理加载的多个 jquery 库,但我只加载了一次,并且在页面顶部。有人可以帮忙吗?

已解决:我最终加载了以前版本的 jquery(当插件仍然有效时)并且它修复了 fancybox

【问题讨论】:

    标签: jquery wordpress fancybox


    【解决方案1】:

    我快速发送了peek at your page。根据错误,看起来 Fancybox 只是被从这里加载的最新版本的 jQuery 破坏了......

    http://code.jquery.com/jquery-latest.js

    这是使用包含jquery-latest.js 的 CDN 的缺点...您永远不知道最新的 jQuery 版本何时会破坏一些不兼容的过时 jQuery 插件。

    您必须弄清楚如何编辑您的 Wordpress 模板以仅加载与您的 Fancybox 兼容的最新版本的 jQuery...可能是 1.8.3 版。

    http://code.jquery.com/jquery-1.8.3.min.js

    否则,请调查是否有 an updated version of Fancybox 可用于最新的 jQuery 版本 1.9.1。 (As per this jsFiddle, it already looks like Fancybox 2.1.4 works with jQuery 1.9.1)

    这里是所有过去版本的 jQuery 的链接供您参考:

    http://code.jquery.com/#jquery-all


    还可以阅读以下链接中的“wp enqueue script”,因为您不想在同一页面上加载多个版本的 jQuery...

    http://codex.wordpress.org/Function_Reference/wp_enqueue_script

    【讨论】:

    • 感谢 Sparky,您的解决方案奏效了,我很感谢您的回答。我恢复到 jQuery 1.8.3,fancybox 也恢复了。我也会阅读关于入队脚本的信息......
    • @jules,看看我的编辑。 Fancybox 2 适用于 jQuery 1.9.1,因此您可能想要升级 Fancybox 代码而不是降级 jQuery 版本...您的选择。
    • 感谢@JFK,看起来它已在他的 2013 年 1 月 10 日 v2.1.4 更新中修复:jsfiddle.net/hpfj8
    • @Sparky :实际上,它是在 2013 年 1 月 16 日 Fancybox v2.1.4 发布时修复的(fancybox 更改日志显示为 1 月 10 日,但我认为这是一个错误,因为 jQuery v1.9.0 于 1 月发布14) ...所有fancybox示例都链接到最新版本,因此即使是旧发布的代码现在也已更新;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2016-01-03
    • 2013-10-18
    • 1970-01-01
    相关资源
    最近更新 更多