我在使用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 - 但不是。
我希望其他人经历过这种痛苦,因为据我所知,这应该有效。我已经尝试将URL放入变量中,但这也不起作用。
浏览器控制台中没有错误。没有。提前致谢。
你没有在评论中提到你使用的是什么版本,标题是“fancyBox3”,但你使用的是v2的语法。这是您的代码段的更新方式:
$("a").fancybox({
modal: true,
type: "iframe",
beforeLoad: function(instance, current) {
current.src = "http://www.jquery.com"
}
});
但是ーzxsw poi
顺便说一下,只需使用数据属性即可获得相同的结果,例如:
https://codepen.io/anon/pen/yvWPBj?editors=1010