web-dev-qa-db-ja.com

iframeタグで一部のWebサイトを表示できません

以下のように、一度に3つ以上のWebサイトを表示できるページを開発しようとしています。

<ul>
   <li>
      <iframe src="http://www.facebook.com/" /><p> iframe is not supported</p>
   </li>
   <li>
      <iframe src="http://www.yahoo.com/"></iframe>
   </li>
   <li>
      <iframe src="http://www.google.co.in"></iframe>
   </li>
</ul>

問題は、yahoo.comとgoogle.co.inを表示しますが、iframeにFacebookを表示しないことです。

15
Nikhil Sharma

それらのサイトのHTTP応答ヘッダーX-Frame-Optionを確認する必要があります。値が「DENYまたはSAMEORIGIN」の場合、それらのWebサイトをiframeにロードできません。

DENY =誰もiframeにWebサイトをロードできません。同じドメインページでも読み込めません。 SAMEORIGIN =同じドメイン内のページのみが、このWebサイトをiframeにロードできます。

23
Fire-Hox

一部のWebサイトはiframeへの埋め込みを無効にすることを決定しているため、純粋なHTMLソリューションでは何もできません。 Webサーバー経由でターゲットサイトをプルし、htmlなどを使用するサーバーサイドスクリプト(PHP)を作成できます。

サイトが読み込まれているかどうかを確認できる唯一の方法は、ターゲットWebサイトに存在する特定の要素をiframeで検索することです(たとえば、Facebookのフロントページに特定のIDまたはクラスを持つdivなど)。 。その理由は、異なるWebサイトがiframeへの埋め込みを異なる方法で処理できることと、一部のコンテンツが表示されることもあれば、何も表示されないこともあり、実際の要素を確認する唯一の方法です。

6
zatatatata

facebookでメインサイトをフレームにロードしたくない

<iframe src="http://m.facebook.com/" width="200" height="300" scrolling="auto" frameborder=0></iframe>

width = "200" height = "300"はそれに応じて調整できます。

これにより、メインサイトではなくモバイルバージョンのFacebookがフレームに読み込まれます。

参考

3
Sudantha

あなたはそれを行うことができません、あなたはボタンのようなiframeしかできません...他のサイト全体ではありません。

0
Cin Sb Sangpi