web-dev-qa-db-ja.com

iframeアクションから親ウィンドウをリダイレクトする

Iframeから親ウィンドウをリダイレクトするために必要なJavaScriptは何ですか?

JavaScriptやその他の方法を使用して、親ウィンドウを新しいURLにリダイレクトするハイパーリンクをクリックしてもらいたいのです。

288
Click Upvote
window.top.location.href = "http://www.example.com"; 

前述のように、親のiframeをリダイレクトします。

470
MIP

<a href="..." target="_top">link</a>も動作することがわかりました

105
Click Upvote
window.top.location.href = "http://example.com";

window.topは、フレーム階層の最上位にあるページのウィンドウオブジェクトを参照します。

53
Luca Matteis

または代替方法は次のとおりです(文書オブジェクトを使用)

parent.document.location.href = "http://example.com";
15
Real Red.

target="_parent"は私のためにとてもうまくいった。簡単で手間のかからない!

9
rDroid

@MIPは正しいですが、新しいバージョンのSafariでは、サンドボックス属性(HTML5)を追加してiFrameへのリダイレクトアクセスを与える必要があります。間にスペースを空けて追加できる特定の値がいくつかあります。

参照先(スクロールする必要があります): https://developer.mozilla.org/en-US/docs/Web/HTML/ Element/iframe

例:

<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
7
Raymond B

これは悲惨さを解決するでしょう。

<script>parent.location='http://google.com';</script>
2
Ali Haris

Iframeからリダイレクトすることはできますが、親から情報を取得することはできません。

1
Joris Kok
window.top.location.href = 'index.html';

これはメインウィンドウをインデックスページにリダイレクトします。ありがとう

1
dnts2012

ユーザーがなにもしなくても別のドメインにリダイレクトしたい場合は、このプロパティのリンクを使用できます。

target="_parent"

前述したように、そしてそれから:

document.getElementById('link').click();

自動的にリダイレクトします。

例:

<!DOCTYPE HTML>

<html>

<head>

</head>

<body>

<a id="link" target="_parent" href="outsideDomain.html"></a>

<script type="text/javascript">
    document.getElementById('link').click();
</script>

</body>

</html>

注:リンクを宣言した後にjavascript click()コマンドを入力する必要があります。

1
Tom Burris

Iframeアクションから親ウィンドウをリダイレクトするには、window.top.location.hrefを使用する必要があります。

デモURL

0
Faizal

使ってみる

window.parent.window.location.href = 'http://google.com'
0
Chirag Gohel