Is it possible to only remove the “watch later” an

2020-05-30 03:56发布

问题:

How can I remove the watch later and share buttons from youtube iframe embed player. Using the following embed code for embedding video clips.

<iframe width="854" height="480" src="https://www.youtube.com/embed/cPVgwz5aN1o" frameborder="0" allowfullscreen></iframe>

Using showinfo=0 removes the full Header which also contains the Video Title.

Is it possible to only remove "Watch Later" and "Share" buttons from the header?

回答1:

Using YouTube embed's privacy-enhanced mode (youtube-nocookie), it will hide "Watch later" button, but not "Share" button.

<iframe width="854" height="480" src="https://www.youtube-nocookie.com/embed/cPVgwz5aN1o" frameborder="0" allowfullscreen></iframe>


回答2:

This parameter is deprecated and will be ignored after September 25, 2018.



回答3:

Add this line after link

https://www.youtube.com/embed/c5cHjtspa7M?mode=opaque&amp;rel=0&amp;autohide=1&amp;showinfo=0&amp;wmode=transparent

It will disable the share and watch later option



回答4:

As an example, this is what you're trying to do:

document.getElementsByTagName('iframe')[0].contentWindow.getElementsByClassName('ytp-watch-later-button')[0].style.display = 'none';

But, short answer, there is no simple way to do this, because YouTube is on a different domain:

'Not possible from client side . A javascript error will be raised "Error: Permission denied to access property "document"" since the Iframe is not part of your domaine...' https://stackoverflow.com/a/30545122/2488877

Though, you might find an answer suitable to your needs if you're tech-savvy in the answers to the question above.



回答5:

I don't think it is possible with the iframe method. My reasons for thinking that is:

  • It is not an option listed on their parameters page
  • I found this thread where a member of their team said it was not possible at the time (2012), and they had no plans to add the ability.

You could probably achieve something similar by turning showinfo off, and using the other methods to grab the video title.



回答6:

showinfo

Note: This parameter is deprecated and will be ignored after September 25, 2018.

Supported values are 0 and 1.

Setting the parameter's value to 0 causes the player to not display information like the video title and uploader before the video starts playing.

If the player is loading a playlist, and you explicitly set the parameter value to 1, then, upon loading, the player will also display thumbnail images for the videos in the playlist.

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



回答7:

In the url params put the params : showinfo=0.

Like this : https://www.youtube.com/embed/youidvideo?autoplay=1&rel=0&showinfo=0

It will remove share and watch later button!



回答8:

The only way to do it is to create a negative margin at the top of a container which has overflow set to hidden. See my CodePen here.

CSS:

.videoWrapper {
  overflow: hidden;
}
@media (min-width: 1500px) {
  .videoWrapper {
    margin-top: -135px;
  }
}
@media (min-width: 1200px) {
  .videoWrapper {
    margin-top: -75px;
  }
}

HTML:

<div class="videoWrapper">
  <iframe width="100% src="https://www.youtube.com/embed/cPVgwz5aN1o" frameborder="0" allowfullscreen></iframe>
</div>

But then of course you lose the top of your video. You may also be breaching some of part of YouTube's Terms of Service.

Also, this tends to only work well at browser widths above 1200px. Below this the title and top controls take up a much larger percentage of player real estate, so you would lose too much off the top of your video.