Вопрос по youtube-javascript-api, youtube-api, youtube – Youtube «заблокировал фрейм с источником» http://www.youtube.com «от доступа к фрейму с источником», даже если используется тот же протокол

24

При встраивании плейлиста 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 не отображает встроенное изображение первого видео, а просто отображает черный экран с символом 'Играть все' кнопку, и мне интересно, если это вызвано вышеуказанной ошибкой.

@jbx: добавьте скрипт, который вы использовали для решения проблемы, и пометьте вопрос как ответивший. SashaZd
Вот'вопрос хрома ...code.google.com/p/chromium/issues/detail?id=17325 Это'В основном это ошибка в V8, которую необходимо исправить, чтобы Chromium мог использовать надлежащую обработку исключений для решения этой проблемы. Это'не связаны с чем-либо, что вы можете видеть со встроенными плейлистами (и, на самом деле, не должныдействительно есть какие-либо негативные последствия). jlmcdonald
Вы можете добавить скрипт, который вызывает YouTube? scalopus
Я изменил, чтобы использовать API JavaScript вместо этого. Кажется, что проблема, с которой я столкнулся, - это проблема с последними обновлениями YouTube, которая повлияла на встраивание iframe. Это не связано, кажется. Проверьте мой другой вопрос здесь:stackoverflow.com/questions/17832807/... jbx

Ваш Ответ

2   ответа
5

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



  
    <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>
  

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

-1

в основном доступ к Youtube возможен только через https, теперь http не разрешен, просто измените ваш 'HTTP» к "HTTPS»...тот'с решением

Похожие вопросы