360

iframeから親ウィンドウをリダイレクトするにはどのJavaScriptを使用する必要がありますか?

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

4

14 に答える 14

593
window.top.location.href = "http://www.example.com"; 

最上位の親 Iframe をリダイレクトします。

window.parent.location.href = "http://www.example.com"; 

親 iframe をリダイレクトします。

于 2010-07-07T08:41:58.050 に答える
138

<a href="..." target="_top">link</a>それも機能することがわかりました

于 2009-02-24T11:31:02.610 に答える
57
window.top.location.href = "http://example.com";

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

于 2009-02-24T06:26:55.600 に答える
17

target="_parent"私にとってはうまくいきました。簡単で手間いらず!

于 2014-11-25T12:51:13.957 に答える
14

または代替手段は次のとおりです(ドキュメントオブジェクトを使用)

parent.document.location.href = "http://example.com";
于 2009-02-24T10:19:06.417 に答える
9

@MIP is right, but with newer versions of Safari, you will need to add sandbox attribute(HTML5) to give redirect access to the iFrame. There are a few specific values that can be added with a space between them.

Reference(you will need to scroll): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe

Ex:

<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
于 2014-10-23T21:39:40.510 に答える
3

これで不幸は解決します。

<script>parent.location='http://google.com';</script>
于 2012-07-06T10:50:25.340 に答える
3

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

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() コマンドは、リンクを宣言した後に指定する必要があります。

于 2016-03-26T05:23:33.960 に答える
1

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

于 2012-02-08T13:17:32.100 に答える
0

使ってみて

window.parent.window.location.href = 'http://google.com'
于 2012-10-31T06:08:07.117 に答える
-8

親ウィンドウの iframe を同じ親の iframe でリダイレクトします。

window.parent.document.getElementById("content").src = "content.aspx?id=12";
于 2013-08-27T19:56:08.820 に答える