Mr_Franke
@Mr_Franke
Front-end developer

Как проверить загрузку стороннего сайта в iframe?

Доброго времени суток.
Возникла необходимость подгружать сторонние сайты в iframe, но некоторые сайты вызывают ошибку
Refused to display 'https://www.google.ru/?gfe_rd=cr&ei=_o3aU6mdJZHEZITzgtAN&gws_rd=ssl' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.


Из-за чего возникает ошибка мне ясно, но я не могу найти способ детектить эту ошибку т.к. событие error не вызывается, а вызывается событие load у iframe.

Собственно вопрос в том как можно отловить эту ошибку?
  • Вопрос задан
  • 10686 просмотров
Пригласить эксперта
Ответы на вопрос 2
asperin
@asperin
Php mysql sphinx redis
X-Frame-Options - это заголовок страницы, который в вашем примере отдает google.ru.
И значение этого заголовка = SAMEORIGIN, потому рендеринг документа, при открытии во фрейме, производится только в том случае, когда верхний (top) документ — с того же домена.

Дак вот чтобы отловить эту ошибку, нужно определить присутствие заголовка X-Frame-Options в подгружаемом сайте. Сам бы очень хотел узнать как это можно сделать средствами javaScript. Но пока, мое решение это просмотр загловков документа на сервере.

З.Ы. У X-Frame-Options есть несколько значенийи все они что то запрещают http://learn.javascript.ru/clickjacking#заголовок-...
Ответ написан
Комментировать
baskerville42
@baskerville42
Учусь работать (Junior)
Врядли выйдет. Современные браузеры запускают ифрейм в некой песочнице. По этому если этот ифрейм не находиться на том же домене что и страница, куда он вставлен то доступа к его содержимому не получить. Все из-за секюрности современных браузеров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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