Fancybox打开新窗口

时间:2014-10-28 18:35:01

标签: jquery ruby-on-rails backbone.js fancybox

所以我正在使用这个rails gem:https://github.com/kyparn/fancybox2-rails

  • 在View中使用BackboneJS作为前端并实例化fancybox

Fancybox在本地完美运行,但在登台和制作时,图像会在新窗口中打开。我检查了镀铬控制台并确保存在fancybox,它是。

不完全确定如何解决此问题/进行调试。

这就是我设置图像的方式:

   <a class="fancybox-image" data-fancybox="image" href="image_url">
   <img src="image_url" data-js="activate-img-modal">
   </a>

我在Backbone View中实例化每个图像所在的fancybox设置。

  setupFancyBox: function() {
     var options = {
       helpers: {
         overlay: {
           locked: false
         }
        }
      };
      this.$("[data-fancybox='image']").fancybox(options);
  }
  • 此功能在View的渲染方法中调用。

2 个答案:

答案 0 :(得分:2)

所以我的图像(.jpg / .png)本地有扩展名,如下所示:

 <a class="fancybox-image" data-fancybox="image" href="path/to/image1.png">
   <img src="path/to/image1.png" data-js="activate-img-modal">
 </a>

但是在制作/直播中没有图片扩展名:

 <a class="fancybox-image" data-fancybox="image" href="path/to/image1.">
   <img src="path/to/image1." data-js="activate-img-modal">
 </a>

缺少扩展程序,导致fancybox无法为我激活。

将从此处获取修复(Fancybox urls without .jpg opens not in box):

  $(".fancybox").fancybox({
    type: 'image'
  });

答案 1 :(得分:0)

检查javascript控制台,如果出现一些javascript错误,它可以防止进一步的javascript代码执行。 下一步尝试在控制台中初始化fancybox,只需运行此代码(当然使用您自己的选择器)

$("a.fancybox").fancybox();