javascript - YouTube IFrame API-从data-video-id设置视频ID

标签 javascript iframe youtube youtube-api

有人点击我网站上的按钮后,我正在加载YouTube的IFrame API。它在模式窗口中加载。在此按钮上,我的“视频ID”也位于“data-video-id”属性中。有没有一种方法可以将视频ID动态加载到YouTube API中,而不是像下面这样在API代码中静态声明视频ID?

var player;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('video-placeholder', {
        height: '1920',
        width: '1080',
videoId: 'GfCPFk8lyhM', <---(how do I make this dynamic?)
        playerVars: {
           modestbranding: 1,
           rel: 0,
        },
        events: {
            'onReady': onPlayerReady
        }
    });
}

谢谢,
布赖恩

最佳答案

像这样将其作为参数输入到函数中。我没有使用过API,但是这是一种使视频ID动态化的快速方法。

var player;

function onYouTubeIframeAPIReady(videoId) {
    player = new YT.Player('video-placeholder', {
        height: '1920',
        width: '1080',
        videoId: videoId,
        playerVars: {
           modestbranding: 1,
           rel: 0,
        },
        events: {
            'onReady': onPlayerReady
        }
    });
}

document.getElementById('btn-video').addEventListener('click', function() {
  var videoId = this.dataset.videoId;
  onYouTubeIframeAPIReady(videoId);
  document.getElementById('debug').innerHTML = videoID + ' has been submitted';
});
<button id="btn-video" data-video-id="GfCPFk8lyhM">Play</button>

<span id="debug"></span>

关于javascript - YouTube IFrame API-从data-video-id设置视频ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45514799/

相关文章:

javascript - 单击 iframe 中的元素 - Selenium Python

html - PyQt4项目-YouTube播放器未触发onStateChange事件或如何强制HTML5?

php - 从 Youtube 电影中隐藏框架、进度条和按钮

javascript - jQuery - 子行 td 位于 th 下方而不是左侧(对齐)

javascript - 使用 Javascript-surface-plot 插入缺失数据

javascript - 如何从此正则表达式模式中获取以下用例的匹配项?

ios - ios-在WkWebView中禁用Youtube自动播放

Javascript - 下载 CSV 文件

javascript - 调整 iframe 的宽度和高度以适应其中的内容

javascript - 按下按钮时动态创建的 iframe 在所有浏览器上立即消失