当前位置: 首页 > 知识库问答 >
问题:

Youtube Javascript API-禁用相关视频

谭俊
2023-03-14

对,这似乎记录得不好,或者我在留档里看不到。我基本上不想要相关的视频(?rel=0)使用JavaScript API。

$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
    height: '550',
    width: '840',
    videoId: $vidId
});

这就是我所拥有的。

我也尝试过:

$players[$vidIdPlaceholderRef] = new YT.Player('player_' + $vidIdPlaceholderRef, {
    height: '550',
    width: '840',
    videoId: $vidId + '?rel=0',
    rel : 0
});

没有运气。是否有人知道可以添加的选项(尝试了rel:0,但运气不佳)

共有3个答案

浦泳
2023-03-14

您可以在两个位置获得相关视频:在带有网格的视频末尾,以及暂停时在视频底部。我已经想出了一个办法,在最后把它们去掉,让最底层的那些至少对大多数企业来说是可以忍受的。

IFrame播放器API:事件

为了避免在视频结束时显示相关视频,我只是停止了视频,所以它返回到显示缩略图和播放按钮:

var player = new YT.Player('player', {
   height: '390',
   width: '640',
   events: {
      'onStateChange': function(event){
         switch(event.data){
            // Stop the video on ending so recommended videos don't pop up
            case 0:     // ended
               player.stopVideo();
               break;
            case -1:    // unstarted
            case 1:     // playing
            case 2:     // paused
            case 3:     // buffering
            case 5:     // video cued
            default:
               break;
         }
      }
   }
});

您还可以将player.stopVideo();替换为您想要运行的任何其他代码。

IFrame播放器API:YouTube嵌入式播放器和播放器参数

rel=0不再避免显示任何相关视频;现在,它仍然会显示相关视频,但至少它们只会来自您的频道。这在2018年9月25日左右发生了变化(留档)。

通过在YT. Player中设置playerVars,我们至少可以让相关视频只显示我们频道的视频。留档不清楚您是否必须将playerVars设置为对象,但是您可以这样设置它:

var player = new YT.Player('player', {
   ...
   playerVars:{
      rel:              0
      modestbranding:   1,       // If you're trying to remove branding I figure this is helpful to mention as well; removes the YouTube logo from the bottom controls of the player
      // color:         'white', // Can't have this and modestbranding active simultaneously (just a note in case you run into this)
   },
   ...
});

如果我有时间,我可能会深入研究,但答案可能在这里:

我们可以很容易地访问iframe对象,但是我们不能用它做任何事情:iframe播放器API:访问和修改DOM节点。看起来,因为我们将从YouTube编辑iframe,所以存在安全问题(不管我们实际在做什么)。理想情况下,我可以使用player.getIframe().contentWindow.document.querySelector('.ytp pause overlay.ytp scroll min').remove()删除“更多视频”文本,但当我运行player.getIframe().contentWindow.document时,我会遇到一个错误安全错误:访问属性“document”的权限被拒绝在跨原点对象上

但是playerVars还有一个origin值,可以让我们访问iframe的对象:

var player = new YT.Player('player', {
   ...
   playerVars:{
      origin:           'https://mywebsite.com'
   },
   ...
});

它不适用于localhost,但这可能是Chromium和Firefox的问题。也许这是一个合法的选择在现场;我会在尝试时更新这篇文章,让你知道我是否成功。

东方玉泽
2023-03-14

rel player参数的行为已更改。

从留档,

rel参数的行为在2018年9月25日当天或之后发生变化。更改的效果是,您将无法禁用相关视频。但是,您可以选择指定播放机中显示的相关视频应与刚才播放的视频来自同一频道

因此,不再可能禁用相关视频。取而代之的playerVars:{rel: 0}将改变玩家的行为,并显示来自指定频道的建议。

田慈
2023-03-14

“rel”是一个玩家参数,如下所述:

https://developers.google.com/youtube/player_parameters#rel

要向iframe播放器添加播放器参数,您需要指定第二个构造函数参数的playerVars属性(在撰写本文时,此处和iframe API文档页面对此进行了说明)

例如。

new YT.Player('playerid', {
    height: '550',
    width: '840',
    videoID: 'video_id',
    playerVars: {rel: 0, showinfo: 0, ecver: 2}
});
 类似资料:
  • 我试图隐藏暂停视频时显示的相关视频,但正如我从类似问题中发现的,截至2018年9月25日,无法禁用相关视频的显示。 更改的效果是您将无法禁用相关视频。但是,您将可以选择指定播放器中显示的相关视频应来自与刚刚播放的视频相同的频道。 更具体地说: 在更改之前,如果参数的值设置为0,则播放器不会显示相关视频。更改后,如果rel参数设置为0,则播放器将显示与刚刚播放的视频来自同一频道的相关视频。 这是JS

  • 通过该接口可以修改视频的一条问答信息, 地址为: https://spark.bokecc.com/api/question/update 需要传递以下参数: 参数 说明 userid 用户 id,不可为空 videoid 视频 id,不可为空 questionid 问题 id, 不可为空 content 问答题目(80字以内) explaininfo 问题的解答,150字以内 answers 问

  • 我在一个网站上看到了这个嵌入youtube的自动静音视频脚本: 如何自动播放静音的Youtube视频(IFrame API)? 该代码可在小提琴上使用: http://jsfiddle.net/9RjzU/3/ 但是,我想知道要向此代码中添加什么以防止出现相关视频? 谢谢阿扎姆

  • 可能的重复: 当存在同名的本地模块时,如何访问Python中的标准库模块? 我使用的是Python2.6。 在myscript中,我有: 由于Python的相对导入机制,import json并不像我想要的那样导入内置库,而是将我的自定义json包导入到当前名称空间中。 在这种情况下,有没有一种方法可以禁用Python中的相对导入,或者至少有一种黑客可以避免它?否则,我将不得不将我的包重命名为其他

  • 描述 (Description) 的View(《div class = "view"》)是从由它自己的设置,导航功能和历史的应用程序的视觉部分断开。 每个视图可以有不同的导航条和工具栏的布局。 它认为包装容器除了所有可视视modals和panels 。 当views设置为你的应用程序的身体一主包装,只有一个views元素是允许的。 下面的代码显示视图的HTML结构 - <body> ...

  • 本文向大家介绍ASP.NET webUploader上传大视频文件相关web.config配置,包括了ASP.NET webUploader上传大视频文件相关web.config配置的使用技巧和注意事项,需要的朋友参考一下 在webuploader上传大文件时必须配置一下,不然请求后台处理程序时,会请求超时。出现404! 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,