JQuery的的fancybox有关iframe问题(PHP)(JQuery FancyBox Wi

2019-10-21 19:54发布

您好我想使用的fancybox在我提出包含视频的网页,像影片画廊,我的意图是要链接YouTube视频英寸

我得到的问题是,它只是可以链接到年龄链路正常的a标签将做,没有什么事情发生。

这是我使用生成视频的代码。

    while ($row = mysqli_fetch_assoc($result)){
         echo "
             <div class='portalVideo'>
                  <a class='fancybox fancybox.iframe' href='https://www.youtube.com/watch?v=DB7jsjt4Uec'>
                      <h3>
                          <strong>".$row["VideoName"]."</strong>
                      </h3>
                  </a>
             </div>";
    }

我所有的视频链接是从数据库中抽取,然后在页面为AA文字链接,“应该”打开上显示iframe点击时。 不工作的唯一的方面是iframe 。 一切拉和正确显示。

我已经正确地包含的文件,他们正确地链接到资源。 只是为了巩固见下文。

<script type="text/javascript" src="scripts/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.fancybox-1.3.4.css">

基于关闭这个堆栈溢出后我试图修复它。 我的代码确实包含在head标签下面只是jQuery的。

<script type="text/javascript">
    $(document).ready(function() {
        $('a.fancybox').fancybox();
    });
</script>

Answer 1:

你有两个(无PHP相关的)问题:

1)。 此YouTube格式:

https://www.youtube.com/watch?v=DB7jsjt4Uec 

....不支持内部iframe ,因为最有可能包含一个DENY X-Frame-options响应头。 您可能需要将其转换为嵌入格式,如:

https://www.youtube.com/embed/DB7jsjt4Uec 

2)。 特殊类fancybox.iframe仅支持的fancybox V2.X但你似乎可以用的fancybox v1.3.x。 所以你宁可使用 iframe或添加API选项

type: "iframe"

...您的自定义的fancybox初始化脚本。

既然你是从数据库中提取的视频链接,好消息是,你不必在你的PHP代码,但只有在你的jQuery代码就像任何改变:

jQuery(document).ready(function ($) {
    $(".fancybox").each(function (i) {
        // change links on the fly to embed format
        this.href = this.href.replace(new RegExp("watch\\?v=", "i"), 'embed/') + "?autoplay=1";
    }).fancybox({
        // API options
        type: "iframe" // needed for videos embed format
    });
}); // ready

请注意,我加入?autoplay=1到新的href ,但如果你希望你的影片是可选的autoplay中的fancybox的一次iframe



文章来源: JQuery FancyBox With IFrame Issue (PHP)