3

iFrame を使用したサイトがあります。

ホスト ページには非常に基本的な JS がいくつかあり、iframe ページにも単純な JS があります。

通常どおり iframe を埋め込むと、<iframe src="iframeURL" width="900" height="1000"></iframe>IE8 以外のすべてのブラウザーで正常に動作します。

私はさまざまなことを試しました:

  • 最初: すべての JS を無効にする
  • src 属性を削除して JS で追加する
  • <object>代わりに使用
  • proxy.php を使用して、コンテンツが同じドメインから来ているかのように見せました。

私が何をしても、IE8では機能しません。

面白いことに、iframe にしたいページを別のタブで開くことができ、問題なく動作します。

src 属性を「some_other_random_page_from_internet」に変更すると機能します。

もう1つのことは、ホストとiframeの両方がpostMessageを使用して通信し、通信が正常に機能していることがわかります.表示されないのはコンテンツだけですが、開発者ツールでページソースを調べると、コンテンツがあることがわかります. .

iframe のコンテンツが問題を引き起こす可能性はありますか? これは基本的な HTML + 基本的な JS であり、JS を無効にしても問題にはなりません。

他に何を確認できますか?

PS。コードを表示できません (NDA など)

4

2 に答える 2

10

それを見つけた。

iframe コンテンツには、次の CSS ルールがありました。

html{ position: relative; }

それを取り除くことは非常に役に立ちました。

于 2012-06-26T10:42:32.420 に答える