我正在使用http://fancyapps.com jQuery插件Fancybox v2。我花了一段时间才看到错误,但现在是。
我只知道如何在Google Chrome中“逐步”或“逐步”调试,因此在Chrome中,访问开发人员工具,然后选择SCRIPTS选项卡。从那里,选择“暂停未捕获的异常”(http://drm.st/ELqh),然后单击本页左上角的其中一个缩略图:http://dreamstartest.net/#!/gallery/(开发中的站点)。
这些应该在Fancybox的模态弹出窗口中加载链接的图像,但是,它会抛出Fancybox is not defined
错误。真正让我失望的是Chrome Dev Tools RESOURCES选项卡没有显示任何无法加载的脚本。那么为什么功能未定义?任何见解都会非常感激,这已经让我好几个小时了。
答案 0 :(得分:3)
在scripts js file你有这个功能(第25行):
$("#content a[rel=video_box], a.video-box, a.fancybox").live('click', function(){
fancybox({
'hideOnContentClick': false,
overlayShow: true,
showNavArrows: true
});
});
您获得的错误是因为
行fancybox({
应该是
$.fancybox({
但是,您还应该考虑因为您使用的是Fancybox v2.x,所以不需要使用.live()
方法。另外,您使用的是jQuery v1.7.x,其中.live()
已被弃用。
另一件事是您正在为v1.3.x使用fancybox API选项。检查fancybox v2.x的文档,因为选项是新的,在以前的版本之间不兼容。
您更新到v2.x的功能应该更好地工作:
$("#content a[rel=video_box], a.video-box, a.fancybox").fancybox({
closeClick: false,
arrows: true
});
答案 1 :(得分:1)
看起来jQuery正在加载两次,一次在Fancybox之前加载,一次加载。第二次被插件加载 - mp3-iplayer。我会从Google API中删除jQuery的第一个链接,加载mp3-iplayer插件,然后加载Fancybox