2009-10-02 6 views
7

iFrameを同じドメインにないページに含めると、iframeのブラウザのDOMポリシーにアクセスすることはできませんが、iframeにあるページは親ドキュメントにアクセスできますか?iframeのページは、iframeされているときに通知できますか?

具体的に、私はこの質問に偶発しているのアイデアを持っている:

  1. 埋め込まれたページは、それが親ウィンドウではないことを伝えることができた場合は、1がそう解除はiframeことができますいずれかのサイトを作ることができますページがiframeであることが検出された場合、それは "Go Away"ページに変更されるか、またはiframe対応のみにすることができます(ページのみのためのサーバー側スクリプトに似ています)。 iframeされていないページには「Go Away」ページが表示されます。

  2. iframeページに、親ウィンドウにない一定の自由がある場合、親ウィンドウのスタイルシートを要求し、それをonスタイルシートとして設定して、親文書との統合を強化することができます。 (もちろん、私は自分のスタイルシートをiframeされたサイトに関連付けることができますが、それはこれを行うことを知っていますが、私はそれを問題として見ません)。

誰でも知っていますか? #1に関して

答えて

11

、あなたはいくつかの簡単なJavaScriptを使用して額装されているかどうかはい、あなたが言うことができる:#2について

<script type="text/javascript"> 
if (self != top) 
{ 
    // Framed! 
} 
</script> 

を、私はあなたが「トップ」を使って何ができるかわからないんだけど変数を変更することはできますが、その場所を変更できることはわかっています(サイトが別のサイトに囲まれている場合は、フレームをトップフレームの場所に変更することができます)。

トップフレームに他に何ができるのか、できないのか分かりません。他の人が他の誰かがもっと情報を提供できるかもしれません。

+2

私はscript要素内のHTMLコメントを捨て、あります示唆記事からの例もうNetscape 2のケータリングには何のポイントもありません。 – Quentin

+0

@David - ok、良い、古い習慣は、ハードに死ぬ:) –

1

このページではJavaScript次埋め込むを通して可能です:

if(top.location.href != self.location){ 
//do redirection or display message 
} 

あなたは、私がやったサイトテンプレートの一部としてこのJavascriptを持っているとiframe

0

に表示されてから任意のページを防ぐことができますこの前、それが働いている:

<script type="text/javascript"> 
if (window.parent != null) 
{ 
    // Framed! 
} 
</script> 
4

はまた、フレームの検出についてthis Coding Horror articleに興味があるかもしれません。あなたはフレームされているかどうかを検出することができますが、 "親"ページがあなたにそれを行かないようにするための対策もあります。

あなたが額装されてきたかどうかを検出:

if (parent.frames.length > 0) { 
    top.location.replace(document.location); 
} 

防止検出およびリダイレクトからフレーム:

var prevent_bust = 0 
    window.onbeforeunload = function() { prevent_bust++ } 
    setInterval(function() { 
    if (prevent_bust > 0) { 
     prevent_bust -= 2 
     window.top.location = 'http://server-which-responds-with-204.com' 
    } 
    }, 1) 
+2

古い投稿が、私は観察を追加すると思った。あなたはiframeから「バストする」ことを防ぐことができますが、iframeが検出されたときに「このページがハイジャックされました」などのエラーメッセージを表示すると、いつでもページの内容を変更することができます。記事を読むにはxyz.com/...にアクセスしてください。 " – Endophage

関連する問題