Встраивание видео в YouTube "Отказано от отображения документа, потому что отображение запрещено с помощью X-Frame-Options" - программирование
Подтвердить что ты не робот

Встраивание видео в YouTube "Отказано от отображения документа, потому что отображение запрещено с помощью X-Frame-Options"

Я пытаюсь вставить видео YouTube на свою страницу, как только пользователь дает ссылку на видео.

<iframe width=\'560\' height=\'315\' src='http://www.youtube.com/watch?v=<video id>&amp;output=embed' frameborder=\'0\' allowfullscreen></iframe>

Но когда я пытаюсь добавить это, я получаю эту ошибку. После проверки страницы в chrome, я вижу эту ошибку на вкладке консоли

"Отказ в отображении документа из-за того, что отображение запрещено X-Frame-Options"

Я не могу смотреть видео даже в IE и Firefox также

Я даже пытался добавить

 header('X-Frame-Options:Allow-From http://www.youtube.com'); 
 header('X-Frame-Options:GOFORIT);
 &amp;output=embed to the url

После прочтения определенных решений в других постах.

Но я все еще получаю ту же ошибку.

Я также вижу, что у youtube есть метод встраивания объектов для показа видео, но уже youtube сделал это как старый метод встраивания видео. Поэтому я хочу использовать новый метод iframe для встраивания видео на мою страницу.

Проблема видна в

  • Firefox 11
  • Chrome 18.0
  • IE 8

Кто-нибудь сталкивался с этой проблемой?

4b9b3361

Ответ 1

Страница, которую вы устанавливаете как источник iframe (страница Youtube /watch), не хочет быть встроенной в вашу страницу. Вы не можете заставить это сделать это.

Правильный URL для вставки имеет вид:

http://www.youtube.com/embed/oHg5SJYRHA0

Ответ 2

Когда вы копируете ссылку на видео с YouTube: "https://www.youtube.com/watch?v=Fva3fgKmu3o"

-Replace 'watch' with /embed/

-Remove '? V ='

Финальный пример: "https://www.youtube.com/embed/Fva3fgKmu3o"

Ответ 3

TL; DR: вам может понадобиться удалить ваши куки.


Если он по-прежнему не работает с /v или /embed, проблема может быть в вашем клиенте из-за неправильно отформатированных файлов cookie. Вы также можете увидеть эту ошибку из-за ошибки HTTP 400 на большинстве или на каждой странице YouTube.

Чтобы решить эту проблему, вам нужно удалить файлы cookie YouTube:

В Chrome введите chrome://settings/siteData в адресной строке и введите youtube в поле Search cookies.

Далее вы увидите две группы файлов cookie для YouTube, вы можете удалить все, или, если вы нажмете на маленькую стрелку, вы сможете увидеть отдельные имена gsScrollPos-#### cookie и просто можете удалить определенные, такие как все gsScrollPos-####.

Источники этого ответа и более подробную информацию можно найти в этой теме Reddit.

Ответ 4

Замените ключевое слово watch на встроенный и измените действующий URL-адрес примерно так:

$url_string="https://www.youtube.com/watch?v=H1pTkatn6sI";
$url= str_replace('watch?v=','embed/', $url_string);

А затем вставьте его в iframe

<iframe id="player" type="text/html" width="640" height="390" src="{{ $url }}" frameborder="0"></iframe>