使用JS播放嵌入式YouTube视频

时间:2019-03-01 12:59:23

标签: javascript video iframe youtube cross-domain

关于这一点,似乎有很多帖子,普遍的回答是“你不能”,但我不相信它。总有办法吧? ;)

我正在链接到youtube视频。

<iframe id="video" class="video" width="560" height="315" 
src="https://www.youtube-nocookie.com/embed/myvideo? 
controls=1&autoplay=0&modestbranding=1&showinfo=0&rel=0" frameborder="0" 
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" 
allowfullscreen></iframe>

我们拥有视频和youtube频道,因此我们引用的是自己的内容。在桌面上,此过程很好-我有一个div,当您单击播放图标时会展开,然后有一个函数可以交换src中的自动播放控件:

function playVideo() {
  var video = $('.video')[0];
  var isPause = video.src.indexOf('autoplay=0') != -1;
  video.src = isPause ? video.src.replace('autoplay=0', 'autoplay=1') : 
  video.src.replace('autoplay=1','autoplay=0');  
}

点击播放,div会展开并播放视频。

在移动设备上,div会扩展,并且不会播放视频。我尝试了各种方法来复制对播放按钮的点击,但无济于事。

如果需要的话,很乐意破解,但必须有一种使用JS播放iframe内容的方法。只是要。以下无效:

$('.ytp-large-play-button.ytp-button').click();

而且也不是:

$('.ytp-large-play-button.ytp-button').trigger('click');

我了解我正在尝试访问跨域内容以及与此相关的安全性,但是我仅对潜在的解决方案感兴趣。我最近找到了一种方法,该方法使用后表单到隐藏的iframe阻止表单重定向,同时保持表单中的数据流,因此我很希望。

也希望你们中的一个会说这只是iframe上的简单属性声明:)

有什么好主意吗?

0 个答案:

没有答案