iFrame не загружает URL-адрес

Я использую следующий простой код iFrame для загрузки Yahoo, но он не загружается в любом случае. в Chrome Inspector Сначала я вижу статус URL как 301, а затем отменю. Любая идея, почему это происходит?

<iframe name="iframe1" src="http://yahoo.com"></iframe>

Ответ 1

Вероятно, вы получите сообщение об ошибке в журнале, который читает что-то вроде этого:

"Refused to display document because display forbidden by X-Frame-Options."

Чтобы ответить на ваш вопрос:

Yahoo делает это, чтобы avoid clickjacking attacks, by ensuring that their content is not embedded into other sites.

Для получения дополнительной информации прочтите это: https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header

Ответ 2

Его также очень легко спросить сайт не загружать, если вы находитесь в iframe с простым javascript. Например, твиттер делает это

<script type="text/javascript">
//<![CDATA[
    if (window.top !== window.self) {
        document.write = "";
        window.top.location = window.self.location;
        setTimeout(function () {
            document.body.innerHTML = '';
        }, 1);
        window.self.onload = function (evt) {
            document.body.innerHTML = '';
        }; 
    }
//]]>
</script>

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

Yahoo! JavaScript запутан, но вы можете видеть, что они явно удаляют что-то в этом фрагменте. (Код, взятый с веб-сайта yahoo)

if(self!==self.top){b=function(){if(g.readyState=="complete"){f.remove(g,e,b);

Ответ 3

на самом деле yahoo, google и такой сайт не разрешают iframes на их сайте. Они блокируют iframe, чтобы показать свой веб-сайт

Ответ 4

Если сайт, на котором размещена веб-страница, заставляет использовать безопасное HTTPS соединение, некоторые браузеры (хром наверняка) потребуют, чтобы все сетевые ресурсы также использовали HTTPS.

URL в вашем текущем iframe использует HTTP src="http://yahoo.com"

Попробуйте использовать HTTPS: src="https://yahoo.com"