onReady не вызывается

    var player = null;

function LoadYouTubeIframeAPI() {
  var scriptElement = document.createElement("script");
  scriptElement.src = "http://www.youtube.com/iframe_api";
  var firstScriptElement = document.getElementsByTagName("script")[0];
  firstScriptElement.parentNode.insertBefore(scriptElement, firstScriptElement);
}

function onYouTubeIframeAPIReady() {
  var playerParams = {
    playerVars: {
      "enablejsapi": 1,
      "origin": document.domain,
      "rel": 0
    },
    events: {
      "onReady": onPlayerReady,
      "onError": onPlayerError,
      "onStateChange": onPlayerStateChange
    }
  };
  player = new YT.Player("player", playerParams);
}

function onPlayerReady(event) {
  alert("ready")
}

function onPlayerError(event) {}

function onPlayerStateChange(event) {}

Вот мой полный код.

function onPlayerReady(event) {
    alert("ready")
}

Никогда не увольняют по какой-то причине. Может кто-нибудь помочь с этим? Я просто не могу заставить его работать часами. Google вообще мне не помогает.

1 ответ

Решение
  1. Убедитесь, что у вас есть <div> Элемент для вашего игрока.
  2. Убедитесь, что функция LoadYouTubeIframeAPI на самом деле называется. Потому что в вашем коде это никогда не выполняется. Вы просто определяете это.
  3. Убедитесь, что вы не обращаетесь к своему сайту через HTTPS, так как загрузка HTTP Ressourcs с помощью javascript работает только на сайтах HTTP.

Вот рабочий пример, вы можете просто создать файл с именем test.html вставьте содержимое на рабочий стол и запустите его с помощью веб-браузера. Вы увидите, что это работает просто отлично.

Здесь вы можете найти API Reference, чтобы увидеть больше деталей.

Другие вопросы по тегам