iframe отказывается отображать

Я пытаюсь загрузить простой iframe на одну из моих веб-страниц, но он не отображается. Я получаю эту ошибку в Chrome:

Refused to display 'https://cw.na1.hgncloud.com/crossmatch/index.do' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' https://cw.na1.hgncloud.com".


Invalid 'X-Frame-Options' header encountered when loading 'https://cw.na1.hgncloud.com/crossmatch/index.do': 'ALLOW-FROM https://cw.na1.hgncloud.com' is not a recognized directive. The header will be ignored.

Это код для моего iframe:

<p><iframe src="https://cw.na1.hgncloud.com/crossmatch/" width="680" height="500" frameborder="0"></iframe></p>

Я не совсем уверен, что это значит. Я загрузил много фреймов раньше и никогда не получал таких ошибок.

Есть идеи?

благодаря

Ответы

Ответ 1

Это означает, что http-сервер cw.na1.hgncloud.com отправляет некоторые заголовки http, чтобы сообщить веб-браузерам, например, Chrome, разрешить загрузку этой страницы iframe (https://cw.na1.hgncloud.com/crossmatch/) только с страница, размещенная в том же домене (cw.na1.hgncloud.com):

Content-Security-Policy: frame-ancestors 'self' https://cw.na1.hgncloud.com
X-Frame-Options: ALLOW-FROM https://cw.na1.hgncloud.com

Вы должны прочитать:

Ответ 2

Причиной ошибки является то, что хост-сервер https://cw.na1.hgncloud.com предоставил некоторые HTTP-заголовки для защиты документа. Один из них заключается в том, что предки фреймов должны быть из того же домена, что и исходное содержимое. Кажется, вы пытаетесь поместить iframe в место расположения домена, которое не совпадает с содержимым iframe, тем самым нарушив политику безопасности контента, установленную хостом.

Ознакомьтесь с этой ссылкой в Политике безопасности контента для получения более подробной информации.

Ответ 3

если вы хотите использовать тег iframe, вы должны написать такой код

<iframe src="https://www.youtube.com/embed/vTSdZ354cNQ" width="800" height="800" ></iframe>
  1. Сначала вы должны написать доменное имя https://www.youtube.com/
  2. написать /embed
  3. напишите название или серийный номер видео, например youtube, который вы хотите добавить vTSdZ354cNQ

Ответ 4

Для любого из вас, перезванивающего на тот же сервер для вашего IFRAME, передайте этот простой заголовок на странице IFRAME:

Content-Security-Policy: frame-ancestors 'self'

Или добавьте это в конфигурацию CSP вашего веб-сервера.