【问题标题】:Fancybox3 BeforeLoad changing URL doesn't workFancybox3 BeforeLoad 更改 URL 不起作用
【发布时间】:2018-03-05 00:00:30
【问题描述】:

我在让 Fancybox BeforeLoad 正常工作时遇到了很多问题。基本上我想做的就是动态更改 URL。在我下面的代码中,我什至有一个警告弹出窗口告诉我 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 放入变量中,但也不起作用。

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

【问题讨论】:

    标签: jquery fancybox


    【解决方案1】:

    您在评论中没有提到您使用的是什么版本,标题是“fancyBox3”,但您使用的是 v2 的语法。这就是您的 sn-p 可以更新的方式:

    $("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>
    

    【讨论】:

    • 它是带有 jQ​​uery 3.3.1 的 Fancybox 3.1.20。我找不到任何引用您提供的语法的文档。会尽快试一试。谢谢大家。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 2021-06-11
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多