javascript 刷新iframe youtube API

2ul0zpep  于 2023-03-21  发布在  Java
关注(0)|答案(1)|浏览(134)

我正在使用iframe API生成一个嵌入在我网站上的youtube视频。

loadAPIPls('WQBUy6t3f0U');

function loadAPIPls(idYTB) {
  loadYouTubeAPI();
  window.onYouTubeIframeAPIReady = function() {
    createYouTubePlayer(idYTB);
  }
}

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

function createYouTubePlayer(id) {
  player = new YT.Player('player', {
    height: '360',
    width: '640',
    videoId: id,
    events: {
      'onReady': onPlayerReady,
    }
  });
}
<div id="player"></div>

视频显示没有任何问题。当我用另一个ID调用功能而不刷新页面时,问题就出现了。
例如,单击loadAPIPls('DOWDNBu9DkU')按钮。
和视频不更新,这是相同的。我想播放器更新与新的视频。

laik7k3q

laik7k3q1#

我自己找到的

function loadAPIPls(IdYtb) {
  if (typeof YT === 'undefined' || typeof YT.Player === 'undefined') {
      loadYouTubeAPI();
      window.onYouTubeIframeAPIReady = function () {
      createYouTubePlayer(IdYtb);
      }
  } else {
    createYouTubePlayer(IdYtb);
  }
}

function createYouTubePlayer(id) {

  var iframePlayer = document.querySelector("iframe#player");
  if (iframePlayer == null)  {
    // create the YT.Player object if it doesn't exist
    player = new YT.Player('player', {
      height: '360',
      width: '640',
      videoId: id,
      events: {
        'onReady': onPlayerReady,
      }
    });
  } else {
    load1(id);
  }
}
function load1(id) {
  player.loadVideoById(id);
}

相关问题