Подтвердить что ты не робот

Youtube "Заблокировал кадр с источником" http://www.youtube.com "от доступа к кадру с источником", даже если используется тот же протокол

При встраивании плейлиста Youtube я получаю эту ошибку:

Blocked a frame with origin "http://www.youtube.com" from accessing a frame with origin "http://www.mydomain.com". Protocols, domains, and ports must match.

Я не смешиваю HTTP с HTTPS в любом месте, поэтому я не знаю, почему я впервые получаю эту ошибку.

Я заметил, что недавно встроенный плейлист Youtube не отображает встроенное изображение первого видео и просто показывает черный экран с кнопкой "Играть все", и мне интересно, вызвано ли это вышеупомянутой ошибкой.

4b9b3361

Ответ 1

По-видимому, кажется, что ошибка, данная хром, является ошибкой. Чтобы решить черный экран с проблемой "Играть все", я использовал Javascript API (вместо iframe), например:

<!DOCTYPE html>
<html>
  <body>
    <div id="player"></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('player', {
          height: '390',
          width: '640',
          videoId: '',
          events: {
            'onReady': onPlayerReady 
          }
        });
      }
      function onPlayerReady(event) {
        player.cuePlaylist({'listType':'playlist','list':'PLE2714DC8F2BA092D'});
      }
    </script>
  </body>
</html>

Спасибо @jlmcdonald за ответ, как указано здесь: Встроенный плейлист Youtube diplays playall вместо первого видео

Ответ 2

эта проблема совершенно очевидна для службы Youtube, в основном Youtube может быть доступен только через https, http не разрешен сейчас, просто измените свой "http" на "https"... что решение