1. ホーム
  2. javascript

[解決済み] IFRAMEがトップレベルウィンドウをリダイレクトしないようにする方法

2022-05-18 03:55:38

質問

いくつかのウェブサイトには、次のようなコードがあります。 IFRAME で囲まれている場合、そのページが A として読み込まれます。 IFRAME として読み込まれます。 P の中にあるいくつかのJavascript A は、外部ウィンドウを A .

通常、このJavascriptは次のようなものです。

<script type="text/javascript">
  if (top.location.href != self.location.href)
     top.location.href = self.location.href;
</script>

質問です: 親ページの作者として P の作者であり、内部ページの作者でない A を防ぐにはどうすればよいのでしょうか? A がこのブレイクアウトをしないようにするにはどうしたらよいでしょうか?

追伸:クロスサイトセキュリティ違反になるはずのような気がするのですが、そうではありません。

どのように解決するのですか?

onbeforeunloadプロパティを使用してみてください。これにより、ユーザーはページから移動したいかどうかを選択できるようになります。

https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload

HTML5では、sandboxプロパティを使用することができます。下記のPankratさんの回答をご覧ください。 http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/