2012-04-22 12 views
13

次の単純なiFrameコードを使用してYahooをロードしていますが、ロードされていません。 Chrome InspectorではURLステータスが最初に301と表示されてからキャンセルします。それはどうして起こっているのでしょうか?iFrameにURLがロードされていません

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

あなたは正しいと答えをマーキング検討する必要があります。 – iambriansreed

答えて

23

あなたは、おそらくこのような何かを読み取ってログにエラーメッセージが出ます:

Yahooはavoid clickjacking attacks, by ensuring that their content is not embedded into other sites.

にこれをやっている:あなたの質問に答えるために

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

を詳細はこちらをご覧ください: https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header

+0

私もChromeを使用しています – Volatil3

+2

私もそうです。これはまさにあなたが見るエラーメッセージです。 – iambriansreed

+0

@ Volatil3更新。 – iambriansreed

4

シンプルなjavascriptを使用してiframe内にある場合は、サイトに読み込まないようにすることも非常に簡単です。たとえば、twitterはこれを行います

<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は難読化されていますが、あなたはこのスニペットで何かを間違いなく削除していることがわかります。 (ヤフーのウェブサイトからコードを取って)

+0

@downvoter:理由を説明できますか? – naveen

+0

私はあなたの返信が本当に質問された質問に答えないと思います。 –

+0

彼は間接的に答えを出し、その理由を説明した。彼の答えの前に私は私の最後に問題があると思っていた。私はまた埋め込みのために私の側面を保存する方法を学びました。ありがとう@naveen – Volatil3

3

実際にはyahoo、googleなどのサイトではiframeをサイトに掲載できません。彼らはウェブサイトを表示するためにiframeをブロックします

2

ウェブページをホストしているサイトがセキュリティで保護されたHTTPS接続の使用を強制する場合、すべてのネットワークリソースがHTTPSを使用する必要があります(確かにクロム)。

あなたの現在のiframe内のURLは、HTTPSを使用してみてくださいHTTP src="http://yahoo.com"

を使用しています:src="https://yahoo.com"

+0

これは唯一の正解です!私の場合。ありがとう! – domih

関連する問題