javascript - Youtube:在一页中添加两个嵌入视频

标签 javascript youtube youtube-api

这更像是一个 JavaScript 问题,而不是 YouTube API。我复制并修改了一些 YouTube iFrame API同时添加两个视频。第一个会自动播放,第二个则不会。

我面临的问题是它只显示第二个视频。

这是我到目前为止所拥有的:

    <script>
    var tag = document.createElement('script');

    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player1;

    function onYouTubeIframeAPIReady() {
        player1 = new YT.Player('player1', {
            height: '315',
            width: '420',
            videoId: 'bHQqvYy5KYo',
            events: {
                'onReady': onPlayerReady
            }
        });
    }

    var player2;

    function onYouTubeIframeAPIReady() {
        player2 = new YT.Player('player2', {
            height: '315',
            width: '420',
            videoId: 'M3uWx-fhjUc',
            events: {
                'onReady': stopVideo
            }
        });
    }

    function onPlayerReady(event) {
        event.target.playVideo();
    }

    function stopVideo() {
        player.stopVideo();
    }
</script>


<div id="player1"></div>
<br>
<div id="player2"></div>

回答后修复代码:

    <script>
    var tag = document.createElement('script');

    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player1;
    var player2;

    function onYouTubeIframeAPIReady() {
        player1 = new YT.Player('player1', {
            height: '315',
            width: '420',
            videoId: 'bHQqvYy5KYo',
            events: {
                'onReady': onPlayerReady
            }
        });

        player2 = new YT.Player('player2', {
            height: '315',
            width: '420',
            videoId: 'M3uWx-fhjUc',
            events: {
                'onReady': stopVideo
            }
        });
    }


    function onPlayerReady(event) {
        event.target.playVideo();
    }

    function stopVideo() {
        player.stopVideo();
    }
</script>


<div id="player1"></div>
<br>
<div id="player2"></div>

最佳答案

您有两个名为 onYouTubeIframeAPIReady 的函数。首先将代码合并到一个函数中。

关于javascript - Youtube:在一页中添加两个嵌入视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21578002/

相关文章:

javascript - Angular/Vue.js 循环遍历同一指令中的两个对象

ffmpeg - 通过 ffmpeg 以高清分辨率录制和流式传输桌面到 Youtube

facebook - 使用 Facebook Graph API 发布嵌入式视频链接

javascript - 无法确定带有附加子项的 HTML 页面的行为

javascript - 是否可以链接范围和数字 HTML 输入?

javascript - 我对 For 循环的理解正确吗?我缺少什么? - JavaScript

javascript - 以编程方式创建一个 javascript 函数

javascript - 使用 Ionic 无限滚动和 YouTube v3 API

android - 触摸设备上的嵌入式 youtube 视频自动显示右键单击上下文菜单

android - 如何在 Android 模拟器中运行 YouTube 视频