javascript - 替换 youtube iframe src 会破坏自动播放

标签 javascript jquery iframe youtube

我在模式中有 youtube 视频 iframe,需要在模式打开时自动播放,因此当模式打开时,我使用 ?autoplay 将 iframe 的 src 设置为视频的嵌入 URL =1。这对于第一个视频效果很好,任何其他视频都不会自动播放。视频加载良好,我可以播放它们。他们只是不尊重自动播放选项。

这是我用来替换 iframe 的 src 的代码:

$modalVideoPreviewIframe.attr('src', sessionPreviewVideoId && `https://www.youtube.com/embed/${sessionPreviewVideoId}?autoplay=1`);

我还尝试使用 jquery 的 clonereplaceWith 在设置其 src 之前用新元素替换 iframe:

const $modalVideoPreviewIframeClone = $modalVideoPreviewIframe.attr('src', 'about:blank').clone();
$modalVideoPreviewIframe.replaceWith($modalVideoPreviewIframeClone);
$modalVideoPreviewIframe = $modalVideoPreviewIframeClone;
$modalVideoPreviewIframe.attr('src', sessionPreviewVideoId && `https://www.youtube.com/embed/${sessionPreviewVideoId}?autoplay=1`);

最佳答案

我最终使用了 YouTube iframe SDK :

$('#session-modal-video').replaceWith('<div id="session-modal-video"></div>');
const player = new YT.Player('session-modal-video', {
  height: '390',
  width: '640',
  videoId: sessionPreviewVideoId,
  events: {
    'onReady'() {
      if(autoplay) {
        player.playVideo();
      }
    },
    'onError'(error) {
      console.log('Failed to create Youtube video player', error)
    }
  }
});

关于javascript - 替换 youtube iframe src 会破坏自动播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48692213/

相关文章:

javascript - 使用 bootstrap 3.0 模态加载 iframe 中的动态远程内容

javascript - webpack-dev-server 未被识别为内部或外部命令

javascript - Vue.js 调用组件/实例方法

javascript - 如何解决URL中重复参数的问题

javascript - 加载后的 iframe javascript

jquery - ajax POST 提交后刷新 iframe

javascript - NodeJs 使用 ExpressJs : TypeError: string is not a function at Function. app.render

javascript - 通过 GET 请求启动文件下载

javascript - 浏览器如何显示链接的目标 url

javascript - 将生成的内容包裹在文本区域中选定的文本周围?