親ウィンドウをiframeからリダイレクトするには、どのJavaScriptを使用する必要がありますか?
JavaScriptまたはその他の方法を使用して、親ウィンドウを新しいURLにリダイレクトするハイパーリンクをクリックしてもらいたい。
親ウィンドウをiframeからリダイレクトするには、どのJavaScriptを使用する必要がありますか?
JavaScriptまたはその他の方法を使用して、親ウィンドウを新しいURLにリダイレクトするハイパーリンクをクリックしてもらいたい。
回答:
window.top.location.href = "http://www.example.com";
前述のように、親iframeをリダイレクトします。
sandbox
」 - developer.mozilla.org/en-US/docs/Web/HTML/Element/iframesandbox
属性防止は、ベースのiframe内の特定のアクションを取ったJavaScript許可されたアクションの特定のホワイトリスト。allow-top-navigation
プロパティは、あなたが仕事にこのコードを許可するホワイトリスト、に有効にすることができますアクションのいずれかです。sandbox
属性が不在の場合、すべてのアクションが許可されます。存在し、空の文字列の場合、すべてのアクションが拒否されます。
それも<a href="..." target="_top">link</a>
うまくいく
window.top.location.href = "http://example.com";
window.top
フレーム階層の最上部にあるページのウィンドウオブジェクトを参照します。
または代替は次のとおりです(ドキュメントオブジェクトを使用)
parent.document.location.href = "http://example.com";
parent.location.href = ...
。developer.mozilla.org/en/document.location
target="_parent"
私にとってはうまくいきました。簡単で手間いらず!
@MIPは正しいですが、Safariの新しいバージョンでは、iframeへのリダイレクトアクセスを提供するためにサンドボックス属性(HTML5)を追加する必要があります。それらの間にスペースを入れて追加できるいくつかの特定の値があります。
リファレンス(スクロールする必要があります):https : //developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
例:
<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
sandbox
属性により、のコンテンツに追加の制限セットが有効になることに注意してください<iframe>
。sandbox
プロパティの値は、特定の制限を取り除きます。したがって、この機能の使用には注意してください。w3schools.com/tags/att_iframe_sandbox.asp
ユーザーが何もしなくても別のドメインにリダイレクトしたい場合は、プロパティを使用してリンクを使用できます。
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()コマンドは、リンクを宣言した後に実行する必要があります。
使ってみてください
window.parent.window.location.href = 'http://google.com'
parent.location = 'url'
親ウィンドウをiframeアクションからリダイレクトするには、window.top.location.hrefを使用する必要があります。
IFrame
すぎて、。受け入れられた回答は上部のウィンドウに対応しているため、質問を少し変更することをお勧めします。