Fancybox3 BeforeLoad更改URL并不起作用

时间:2018-03-05 00:00:30

标签: jquery fancybox

我在使用Fancybox BeforeLoad工作时遇到了大量问题。基本上我想做的就是动态更改URL。在我的下面的代码中,我甚至有一个警告弹出窗口向我显示网址正在改变但是当加载Fancybox时它会加载原始URL,无论我做什么。它绝对让我发疯,我无法看清我做错了什么。我确实在我的网络服务器上运行它,它不起作用。

假设有一天你们中的一些人可以把它放在JSFiddle中并让它工作,任何人都可以想到什么可能会阻止它在不同的环境中工作?

HTML

<a href='test.html' id="mylink">Test Me</a></code></pre>

的Javascript

$(function() { 
    $("a").fancybox({
        modal: true,
        type: "iframe",
        beforeLoad: function() { 
            this.href = "http://www.jquery.com"
        }
    }); 
});

这应该在弹出窗口中加载jquery.com - 但不是。

我希望其他人经历过这种痛苦,因为据我所知,这应该有效。我已尝试将网址放入变量中,但也无法正常工作。

浏览器控制台中没有错误。没有。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

你没有在评论中提到你使用的是什么版本,标题是“fancyBox3”,但你使用的是v2的语法。这就是您的代码段的更新方式:

$("a").fancybox({
  modal: true,
  type: "iframe",
  beforeLoad: function(instance, current) { 
    current.src = "http://www.jquery.com"
  }
}); 

演示 - https://codepen.io/anon/pen/yvWPBj?editors=1010

顺便说一下,只需使用数据属性即可获得相同的结果,例如:

<a href='test.html' data-fancybox data-type="iframe" data-src="https://blog.codepen.io/" id="mylink">Test Me</a></code></pre>