使用Fancybox阻止YouTube自动播放?

时间:2012-04-18 23:39:41

标签: youtube fancybox

如果我将Fancybox设置为youtube链接(而不是将代码嵌入到通常没有花哨的盒子中),我怎样才能避免在页面加载时自动播放?

我希望能够点击图片才能开始播放。

http://www.estherwarda.com/wci/homepage/

2 个答案:

答案 0 :(得分:4)

如果您使用的是最新版本的Fancybox(2+),现在可以很好地识别和处理YouTube和Vimeo。

然而,由于大多数文档都在Fancybox 1上,所以需要花些时间来解决这个问题。

Fancybox会删除您的YouTube网址并添加一些默认参数:

  • autoplay = 1 (视频将自动播放)
  • autohide = 1 (控制将在视频播放后隐藏)
  • fs = 1 (已启用全屏)
  • rel = 0 (隐藏相关视频)
  • hd = 1 (已启用高清播放)
  • wmode = opaque (修复了YouTube和灯箱的z-index)
  • enablejsapi = 1 (启用Javascript API)

这意味着通常您可以在URL中传递这些参数并将其应用,但Fancybox 2会忽略这些参数并回退到预设值。

不要沮丧!您可以覆盖脚本中的那些。几种方式。

普通媒体嵌入:

  $(".fancybox").fancybox({
      helpers : {
          media: true
      }
  });

自定义网址参数方法1:

  $(".fancybox").fancybox({
      helpers : {
          media: {
              youtube : {
                  params : {
                      autoplay : 0
                  }
              }
          }
      }
  });

自定义网址参数方法2:

  $(".fancybox").fancybox({,
       helpers : {
          media: true
      },
      youtube : {
          autoplay: 0
      }
  });

查看助手>有关更多详细信息,请参阅jquery.fancybox-media.js文件(查看注释)。 Fancybox 2还支持各种URL格式,因此您无需担心应该使用哪个URL版本(例如 youtube.com/watch?v = ### vs. youtu.be / ### )。

答案 1 :(得分:1)

这是关于你的嵌入代码。 Youtube的旧默认嵌入代码如下所示:http://www.youtube.com/v/bla?version=3。它可以采用自动播放参数来控制加载时的播放。您可以将&autoplay=0推回http://www.youtube.com/v/bla

http://www.youtube.com/v/bla?version=3&autoplay=0