私はIE9とIE8、FireFox、Webkitの違いを見てきました。メインページはIE8で動作するようにIE8(またはIE9セットで開かれている場合
<!DOCTYPE html>
<html>
<head><title>iframe content</title></head>
<body>
<h1>iframe content</h1>
<script>function redirect() { window.parent.location = "/new-href"; } </script>
<a href="javascript:redirect()">Redirect the parent window please</a>
</body>
</html>
:
親ソース:
<!DOCTYPE html>
<html>
<head><title>iframe test page</title></head>
<body>
<h1>Parent window</h1>
<iframe src="//domain2/iframe.html"></iframe>
</body>
</html>
iframeのソース(別のドメイン上の)次のコードを考えてみましょうモードまたはChrome 23またはFF16)リンクをクリックすると//(iframeドメイン)/ new-hrefに移動し、IE9では//(元の親ドメイン)/ new-href
私はまだ調査中ですどのようにこの問題を回避し、私はより多くの情報を持っている場合/これを更新します。
更新:iframeリンクのtarget = "_ top"属性を設定すると、この問題が回避されます。
(別のドメイン上の)更新のiframeソース:
<!DOCTYPE html>
<html>
<head><title>iframe content</title></head>
<body>
<h1>iframe content</h1>
<a href="/new-href" target="_top">Redirect the parent window please</a>
</body>
</html>
この更新されたiframeのコード内のリンクは、両方に//(IFRAMEドメイン)/新HREFに親(全体)のウィンドウにリダイレクトされますクリックしますIE8 & IE9(そして、私が知る限り、すべてのブラウザも同様です)。それはあなたがしたいことです、そうですか?
$("iframe a").attr("target", "_top");
は、私は、「ウィンドウを試してみましたまたtarget attribute documentation
出典
2012-11-12 16:31:37
iX3
を参照してください:あなたはiframe内のすべてのタグを作成したい場合は、このようなものを使用どこかにナビゲートし、どこかではなくインラインフレームよりもナビゲートするために、トップ/メイン/親ウィンドウを引き起こします.opener.location "とIE9のコンソールエラーが発生しました(プロパティ 'location'の値を設定できません:オブジェクトはnullまたは未定義です) – iX3