2011-11-09 13 views
8

iframeから親文書を取得する際に、いくつかの洗練された解決策があります。 this one。しかし、私はそれを動作させることはできません - と私はこれが証券の問題(クロスドメインスクリプト?)のために可能だとは思わなかった?iFrameから親文書を取得する

私の質問は、 iframeの内部から親文書に引き続きアクセスできますか?またはこれが近年変更されましたか?私がこれにアクセスできるはずです。 iframeの内容からparent.documentまたはwindow.parent.documentを印刷すると、なぜ私が定義されていないのでしょうか?

+0

'window.top'は一般的に動作します。 – Salman

答えて

19

と一致する場合は、のフレーム内から親にアクセスすることはできます。例えば

は、これらのフィドルを見て:

あなたはを通して親にアクセスすることができます。

window.parent 
parent 
top   //If the parent is the top-level document 
window.top 

変数parenttopを上書きすることができます(通常は意図していません)。安全性を高めるためにwindow.parentを使用する方が安全です。またはwindowdocument.defaultViewに置き換えることもできます。

+0

Thx!ドメインが一致しないので、明らかに問題です。今あなたは私がこれについて少し前に読んだことを知っていると言います。ドメインが一致しない場合は、親文書にアクセスできません。だから私の問題は、フレーム化されたコンテンツが異なるドメインにあるときには解決できません。右? – stiank81

+0

まだ異なるドメイン間でやりとりするいくつかの秘訣があります。 [この長い記事](http://softwareas.com/cross-domain-communication-with-iframes)をご覧ください。両方のページが同じドメインにあるがサブドメインが異なる場合は、['document.domain'](https://developer.mozilla.org/ja/DOM/document.domain)を設定すると役立ちます。それ以外の場合、両方のウェブサイトの所有者であれば、['window.postMessage'](https://developer.mozilla.org/en/DOM/window.postMessage)を実装することができます。 –

関連する問題