ホームページ >ウェブフロントエンド >jsチュートリアル >サブドメイン間の Iframe から親 URL にアクセスするにはどうすればよいですか?
サブドメインを越えて iframe から親 URL にアクセスする
両方のページが存在する場合、iframe 内から親ページの URL にアクセスするのは通常簡単です。同じドメインです。ただし、iframe と親ページが異なるサブドメインにある場合、クロスドメイン スクリプティングの制限により、親の URL に直接アクセスできなくなります。
クロスサイト スクリプティングの制限
クロスサイト スクリプティングの脆弱性は、ある Web サイト上の悪意のあるスクリプトが別の Web サイト上のコードにアクセスして実行できる場合に発生します。ブラウザのセキュリティ ポリシーでは、このような脆弱性による機密データの悪用を防ぐために厳格な制限が適用されます。これらの制限の 1 つは、スクリプトが明示的な許可なしに異なるドメイン上の Web サイトのデータにアクセスできないことです。
サブドメインとクロスサイト スクリプティング
サブドメインは論理的にはそれらの Web サイトに関連しているように見えますが、プライマリ ドメインでは、セキュリティの観点から、それらは別個のエンティティとして扱われます。したがって、あるサブドメインの iframe が別のサブドメインの親ページの URL にアクセスしようとすると、ブラウザはこれをクロスサイト スクリプティングの試みとして解釈し、アクセスを拒否します。
代替ソリューション
メイン ページの URL (ブラウザのアドレス バー URL) を取得することだけが要件の場合は、次の回避策が利用できます。
var url = (window.location != window.parent.location) ? document.referrer : document.location.href;
このコードは、iframe と親かどうかを確認します。ページは異なるサブドメイン上にあります。存在する場合、document.referrer プロパティを使用して、iframe にリンクされているページの URL を取得します。異なるサブドメインにない場合は、document.location.href プロパティを使用して親ページの URL を取得します。
注:
以上がサブドメイン間の Iframe から親 URL にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。