【问题标题】:YouTube jsapi video cardYouTube jsapi 视频卡
【发布时间】:2025-11-26 19:20:08
【问题描述】:

有没有办法通过用于 YouTube 嵌入的 JS api 来结束向用户订阅/关于卡的视频节目。我搜索了高低,似乎找不到任何方法。 JS api之外的任何其他解决方案?也许使用 DOM 或其他方法添加或复制?谢谢!

示例: https://www.dropbox.com/s/ivtcxnbszrylwzi/Screenshot%202014-04-09%2015.53.21.png

【问题讨论】:

    标签: javascript youtube youtube-api youtube-javascript-api youtube-channels


    【解决方案1】:

    如果您要使用 iFrame API,一种可能性是绑定到 playerStateChange 事件并侦听 YT.PlayerState.ENDED 事件...当您听到它时,您将视频替换为您的订阅按钮.像这样的某种设置:

    <html>
    <body>
    <div id="myPlayer"></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 player;
    function onYouTubeIframeAPIReady() {
      player = new YT.Player(document.getElementById("myPlayer"), {
        width: "853",
        height: "480",
        videoId: "f3_JLyVgbEA",
        events: {
            'onStateChange': onPlayerStateChange
        }
      });
    }
    
    function onPlayerStateChange(event) {
      if (event.data == YT.PlayerState.ENDED) {
        // here's where you replace the video with your subscribe button
      }
    }
    </script>
    </body>
    </html>
    

    【讨论】: