Youtube iframe禁用暂停视频

时间:2012-11-17 10:57:56

标签: iframe youtube youtube-api

我需要在我的网页上播放视频。但我需要否认控制权。 我把“controls = 0”,但是当我点击它时玩家有暂停动作。 我可以在YouTube播放器中禁用“暂停”操作吗?

7 个答案:

答案 0 :(得分:23)

您可以尝试在视频上放置一个div容器,但不包含任何内容。换句话说,空白容器的大小与视频本身相同。这应该做的是当有人试图点击它时,他们实际上会点击它上面的透明容器而无法暂停。这应该工作。您可能还需要更改z-index以确保空白div容器确实在视频上方。 (首先用背景颜色测试div容器,如果彩色框覆盖视频,那么你可以返回并删除颜色,它也会起作用。)祝你好运。

此外,将disablekb参数设置为1,这样用户即使按空格键也无法暂停。

答案 1 :(得分:17)

在DOM元素上使用以下CSS:

.ytplayer {pointer-events: none;}

答案 2 :(得分:7)

如果您通过HTML显示视频并可以访问用于显示视频的CSS类,则可以执行以下操作:

您的HTML看起来像这样:

<iframe id="ytplayer" type="text/html" width="720" height="405"
src="https://www.youtube.com/watch?v=z4O-5eV4LiA"
frameborder="0" allowfullscreen>

添加您选择的班级名称,我选择ytplayer

class="ytplayer"

我的示例

将如下所示
<iframe class="ytplayer" id="ytplayer" type="text/html" width="720" height="405"
src="https://www.youtube.com/watch?v=z4O-5eV4LiA"
frameborder="0" allowfullscreen>

然后在CSS文件中添加修改类的规则。我使用了ytplayer,但你可以选择一个不同的类名,确保它与你上面使用的类名相匹配。

.ytplayer {
pointer-events: none;
position: absolute;
}

应该这样做。

答案 3 :(得分:4)

无法完全禁用暂停。

您可以在onStateChange处理程序中侦听YT.PlayerState.PAUSED个事件,并在检测到时立即调用playVideo(),但是......我不知道,这听起来不会是非常人性化。

答案 4 :(得分:1)

“?controls = 0”只隐藏播放器中的底部控制面板,但点击屏幕播放/暂停将正常工作

这是控制参数值:

  • controls = 0 - 播放器控件不会显示在播放器中。对于AS3 玩家,Flash播放器立即加载。
  • controls = 1 - 播放器控件在播放器中显示。对于AS3玩家, Flash播放器立即加载。
  • controls = 2 - 玩家控件在播放器中显示。对于AS3玩家, 在用户启动视频播放时加载Flash播放器。

查看这篇文章,这确实很有帮助 https://developers.google.com/youtube/player_parameters

答案 5 :(得分:0)

这是一种阻止屏幕的方法,因此用户无法点击任何内容。

// block screen so user cant click
var blockDiv = $(document.createElement('div'))
        .attr('id', 'blockDiv')
        .height('100%').width('100%')
        .css({'z-index':'3333', 'position' : 'absolute', 'top': '0', 'left':'0'});
$('body').append(blockDiv);

答案 6 :(得分:0)

这是我的代码解决方案,可以自动播放视频,而无需在桌面上暂停但可以在移动设备上播放

  <style>
  .overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    /* knock out nasty borders */
    outline: 2px solid white !important;
    outline-offset: -1px;
    pointer-events: none;
  }

  .wrapper-with-intrinsic-ratio {
    position: relative;
    padding-bottom: 56.25%;
  }

  .element-to-stretch iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffff;
  }

  .wrapper-with-intrinsic-ratio .element-to-stretch {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  @media only screen and (max-width: 900px) {
    .noclick {
      display: none;
    }
  }

  .noclick {
    z-index: 2000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
</style>
<div class="target2">
<div class="noclick"></div>
<div class="wrapper-with-intrinsic-ratio">
<div class="element-to-stretch">
<div class="overlay"><iframe title="YouTube video player" src="https://www.youtube.com/embed/tgbNymZ7vqY?rel=0&amp;autoplay=1&amp;controls=0&amp;disablekb=1&amp;loop=1&amp;playlist=tgbNymZ7vqY&amp;playsinline=1&amp;iv_load_policy=3&amp;mute=1&amp;widgetid=1&amp;widget_referrer" width="100%" height="100%" frameborder="0" allowfullscreen=""></iframe></div>
</div>
</div>
</div>

请注意重复播放视频,并且不自动播放播放列表中的下一项将播放列表设置为视频id(youtube)不会在浏览器视频中针对移动设备进行视频推荐