我在使用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 - 但不是。
我希望其他人经历过这种痛苦,因为据我所知,这应该有效。我已尝试将网址放入变量中,但也无法正常工作。
浏览器控制台中没有错误。没有。 提前谢谢。
答案 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>