親ページ A と iframe ページ B が異なるドメインにある場合、B の親プロパティを介してメソッドまたはフィールドにアクセスすることも、A のスクリプトが B のコンテンツにアクセスすることも、共有することもできません。 A と B の間のグローバル変数。ページ A とページ B の間に置かれたこの境界は、ブラウザ セキュリティ モデルの重要な部分です。これは、evil.com がオンライン バンクの Web ページをラップして、銀行の Web ページの JavaScript の内部変数を読み取るだけでアカウント情報を盗むのを防ぐものです。
最新世代のブラウザーを必要とする余裕がある場合は、こちらの他の回答のいずれかに記載されているポストメッセージ手法を使用できます。古いブラウザーをサポートする必要がある場合は、ブラウザーでクロスドメイン クライアント スクリプト技術を使用して、少量の情報を渡すことができる場合があります。この一例は、iframe を使用して外側のページ A と内側のページ B の間で情報をやり取りすることです。これは簡単ではなく、多くの手順が必要ですが、実行できます。これについては少し前に記事を書きました。
親ページ A からの B の iframe でのクリックを監視することはできません。これは、複数のレベルでブラウザーのセキュリティ ポリシーに違反しています。(ハイジャックをクリックしてください) B の URL がいつ変更されたかを確認することはできません。 iframe.src プロパティを読み取れなくなりました。
A と B が同じルート ドメインの異なるサブドメインにある場合、ドメインを共通のルートに「下げる」機会があるかもしれません。たとえば、外側のページ A がサブドメイン A.foo.bar.com でホストされ、B がサブドメイン foo.bar.com でホストされている場合、ページ A のドメインを foo.bar.com に下げることができます ( A のスクリプトでは window.domain = "foo.bar.com")。ページ A はページ B のピアとして動作し、2 つのページは必要に応じて互いのデータにアクセスできますが、技術的には A は B とは異なるドメインから提供されています。ドメインの低下に関する記事も書きました。
ドメインの低下は、ルート ドメインのコンテキストで動作するように、最も内側のサブドメインのみを剥がすことができます。A.foo.bar.com を abc.com に変更することはできません。
ドメインを共通のルート ドメインに下げることには、わずかなリスクもあります。ページを独自のサブドメインで運用する場合、html とスクリプトは、共通のルート ドメインから離れた他のサブドメインから分離されます。他のサブドメインのいずれかのサーバーが危険にさらされても、HTML ページには実際には影響しません。
ページのドメインを共通のルート ドメインに下げると、共通のルート ドメインで実行されているスクリプトと、そのドメインを共通のルートに下げた他のサブドメインからのスクリプトに内部が公開されます。他のサブドメインのいずれかのサーバーが侵害された場合、スクリプトの内部にアクセスできるため、サブドメインも侵害された可能性があります。