首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在YouTube播放列表嵌入代码的末尾隐藏相关视频?

如何在YouTube播放列表嵌入代码的末尾隐藏相关视频?
EN

Stack Overflow用户
提问于 2016-03-30 23:27:08
回答 6查看 92.6K关注 0票数 55

我正在使用这段代码嵌入一个播放列表:

代码语言:javascript
复制
<iframe width="816" height="459"     
  src="https://www.youtube.com/embed/videoseries?list=xxx" 
  frameborder="0" allowfullscreen="">

为了隐藏相关的视频,通常我会添加?rel=0 (在单个视频嵌入的情况下),但是如果我在这里尝试:

代码语言:javascript
复制
<iframe width="816" height="459" src="https://www.youtube.com/embed/videoseries?list=PL4Zkb_7gMrOzZlVy7jIeCjwScavYp6ssm?rel=0" 
 frameborder="0" allowfullscreen="">
 </iframe>

我得到了“坏视频”模糊YouTube屏幕(对不起,我不知道这个技术术语)!

没有“隐藏相关”选项在YouTube“显示更多”设置的播放列表。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-03-31 07:44:12

在向url中添加更多参数时,必须使用'&‘。使用以下内容更新src字段。

代码语言:javascript
复制
"https://www.youtube.com/embed/videoseries?list=PL4Zkb_7gMrOzZlVy7jIeCjwScavYp6ssm&rel=0"
票数 80
EN

Stack Overflow用户

发布于 2018-12-06 01:18:15

截至2018年9月,YouTube 防止隐藏相关视频正在使用rel=0

然而,可以通过使用YouTube Player API来显示自定义的而不是相关的视频来解决这个问题。

下面是一些示例代码,在视频完成后在视频上显示一个自定义的“重播”按钮,隐藏相关视频:

代码语言:javascript
复制
<style>
    #playerWrap {
        display: inline-block;
        position: relative;
    }
    #playerWrap.shown::after {
        content:"";
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        cursor: pointer;
        background-color: black;
        background-repeat: no-repeat;
        background-position: center; 
        background-size: 64px 64px;
        background-image: url(data:image/svg+xml;utf8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgNTEwIDUxMCI+PHBhdGggZD0iTTI1NSAxMDJWMEwxMjcuNSAxMjcuNSAyNTUgMjU1VjE1M2M4NC4xNSAwIDE1MyA2OC44NSAxNTMgMTUzcy02OC44NSAxNTMtMTUzIDE1My0xNTMtNjguODUtMTUzLTE1M0g1MWMwIDExMi4yIDkxLjggMjA0IDIwNCAyMDRzMjA0LTkxLjggMjA0LTIwNC05MS44LTIwNC0yMDQtMjA0eiIgZmlsbD0iI0ZGRiIvPjwvc3ZnPg==);
    }
</style>
<div>
    <div id="playerWrap">
        <iframe
            width="640" height="360"
            src="https://www.youtube.com/embed/0sDg2h3M1RE?enablejsapi=1"
            frameborder="0"
        ></iframe>
    </div>
</div>
<script>
  var playerFrame = document.currentScript.previousElementSibling.children[0].children[0];

  var tag = document.createElement('script');
  tag.src = "https://www.youtube.com/iframe_api";
  var firstScriptTag = document.getElementsByTagName('script')[0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

  var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player(playerFrame, {
      videoId: 'M7lc1UVf-VE',
      events: {
        'onStateChange': onPlayerStateChange
      }
    });
  }

  function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.ENDED) {
        document.getElementById("playerWrap").classList.add("shown");
    }
  }

  document.getElementById("playerWrap").addEventListener("click", function() {
    player.seekTo(0);
    document.getElementById("playerWrap").classList.remove("shown");
  });
</script>

用于最新代码的查看我关于这个主题的博客文章.,包括小型化版本、描述、演示和说明( )。

票数 8
EN

Stack Overflow用户

发布于 2020-08-27 08:47:21

在2020年,我的代码正在运行<iframe src="https://www.youtube.com/embed/J1djNpVf4Ew?rel=0&enablejsapi=1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; fullscreen;"></iframe>

本嵌入视频中没有Youtube建议的任何建议视频

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36321539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档