可以在youtube-api上使用modestbranding吗?

ali*_*c83 7 javascript youtube-api

我正在尝试使用Youtube API将视频加载到我的页面上.

Youtube指定您可以通过将参数'&modestbranding = 1'附加到embed url来启用'适度品牌'(即删除youtube徽标).

我遇到的问题是新的youtube API使用javascript嵌入视频,例如:

  player = new YT.Player('player', {
    height: videoHeight,
    width: videoWidth,
    videoId: videoID,        
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
Run Code Online (Sandbox Code Playgroud)

然后,这会生成相关的iframe脚本,但我希望能够在这些参数中指定适度的品牌.我尝试添加一个额外的参数:

modestbranding: 1
Run Code Online (Sandbox Code Playgroud)

modestbranding: '1'
Run Code Online (Sandbox Code Playgroud)

但似乎都没有任何效果.

我意识到一个选项是从最终渲染的脚本中获取嵌入的URL,然后将参数附加到src:

<iframe frameborder="0" allowfullscreen="" id="player" title="YouTube video player" height="368" width="640" src="http://www.youtube.com/embed/<id>?enablejsapi=1"></iframe>
Run Code Online (Sandbox Code Playgroud)

但是我会认为youtube会以某种方式允许指定参数,而不是必须使用一些肮脏的黑客.

谁知道我怎么做到这一点?

Gre*_*ter 16

modestbranding是一个玩家var,因此应添加'playerVars'属性.详细信息可以在开发人员文档中找到. https://developers.google.com/youtube/iframe_api_reference

这是一个关于如何包含modestedbranding或其他玩家变量的示例.

player = new YT.Player('player', {
  playerVars: {
    modestbranding: true
  },
  height: videoHeight,
  width: videoWidth,
  videoId: videoID,        
  events: {
    'onReady': onPlayerReady,
    'onStateChange': onPlayerStateChange
  }
});
Run Code Online (Sandbox Code Playgroud)