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>
- Сначала вы должны написать доменное имя
https://www.youtube.com/
- написать
/embed
- напишите название или серийный номер видео, например youtube, который вы хотите добавить
vTSdZ354cNQ
Ответ 4
Для любого из вас, перезванивающего на тот же сервер для вашего IFRAME, передайте этот простой заголовок на странице IFRAME:
Content-Security-Policy: frame-ancestors 'self'
Или добавьте это в конфигурацию CSP вашего веб-сервера.