Iframeから親ウィンドウをリダイレクトするために必要なJavaScriptは何ですか?
JavaScriptやその他の方法を使用して、親ウィンドウを新しいURLにリダイレクトするハイパーリンクをクリックしてもらいたいのです。
window.top.location.href = "http://www.example.com";
前述のように、親のiframeをリダイレクトします。
<a href="..." target="_top">link</a>
も動作することがわかりました
window.top.location.href = "http://example.com";
window.top
は、フレーム階層の最上位にあるページのウィンドウオブジェクトを参照します。
または代替方法は次のとおりです(文書オブジェクトを使用)
parent.document.location.href = "http://example.com";
target="_parent"
は私のためにとてもうまくいった。簡単で手間のかからない!
@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>
これは悲惨さを解決するでしょう。
<script>parent.location='http://google.com';</script>
Iframeからリダイレクトすることはできますが、親から情報を取得することはできません。
window.top.location.href = 'index.html';
これはメインウィンドウをインデックスページにリダイレクトします。ありがとう
ユーザーがなにもしなくても別のドメインにリダイレクトしたい場合は、このプロパティのリンクを使用できます。
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()コマンドを入力する必要があります。
Iframeアクションから親ウィンドウをリダイレクトするには、window.top.location.hrefを使用する必要があります。
デモURL :
使ってみる
window.parent.window.location.href = 'http://google.com'