javascriptについて


あるページを iframe内に表示したいのですが、

frameを解除するようにされているページを
表示しようとしたの場合は
表示を中断する方法はありませんでしょうか。

フレームを解除される前にです。

onUnload で何とかできないかな?
と試しましたが、その前に解除されてしまいます。

もちろん表示できなくて良いので、
そういう仕組みが仕込まれている、
という事を判断して、読み込むのは諦め、
他の処理を行いたいのです。

よろしくお願い致します。


追記です。

こういった内容が書かれているページを読み込んだ際に、
フレームを解除する前に止めたいのです。

if( self != top ) { top.location = self.location; }

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/10/19 03:53:53
  • 終了:2014/10/19 13:10:14

ベストアンサー

id:Lhankor_Mhy No.1

Lhankor_Mhy回答回数779ベストアンサー獲得回数2302014/10/19 10:07:37

ポイント300pt

 完全にご要望を満たすものではないのですが。
 
Framekiller - Wikipedia, the free encyclopedia
↑ウィキペディアにありました。
「Modern framekiller」の「Alternative solutions」を主要ブラウザで試しましたが、フレームを解除される前にbeforeunloadイベントの戻り値がダイアログで表示され、ページを移動するか確認されます。
 ページを移動することを選択するとフレームが解除されますが、ページにとどまることを選択するとフレーム解除がキャンセルされ、iframeにその内容が表示されます。
 ただし、Firefoxのダイアログにはメッセージを挿入できませんでした。これはバグであるらしいです。
 
 もし、iframeの内容が表示されてしまうことがイヤであれば、beforeunloadイベントの中でsetTimeoutなどでiframeを削除してしまえばいいかと思います。
 
 
 
 また、こちらは試していないのですが、このような方法もあるらしいです。
Preventing Frame Busting and Click Jacking (UI Redressing) | coderrr
 topを204ページにリダイレクトしてしまう、という方法みたいです。なかなかトリッキーですね。

他4件のコメントを見る
id:worldtravel

うわっ これだけで済むのですね。
ありがとうございました!

助かりました。

2014/10/19 13:09:35
id:worldtravel

困っていたので、本当に助かりました。

ありがとうございました。

また困った事がありましたらお願い致します。

2014/10/19 13:10:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません