iFrame からの親 URL へのアクセス: 制限事項と回避策
iFrame から親フレームの URL にアクセスするのは、特に次の場合に困難になることがあります。 iFrame は別のサブドメインにあります。これは、クロスサイト スクリプティング (XSS) 防止策によって課されたセキュリティ制限によるものです。
親フレームと同じドメインおよびサブドメインから iFrame にアクセスする場合、親の場所へのアクセスは、parent のような式を使用して簡単に行うことができます。 .document.location またはparent.window.location。ただし、ユーザーが強調したように、iFrame が別のサブドメインにある場合、このアプローチは失敗します。
この点をさらに説明するために、pageA.html が http://www.mysite でホストされている例を考えてみましょう。 .com/ および pageB.html (iFrame) は http://qa-www.mysite.com/ でホストされています。 pageB.html から親の URL を取得しようとすると、アクセス拒否エラーが発生します。これにより、サブドメインもクロスサイト スクリプティングの制限の対象となることが確認されます。
このような状況では親の URL に直接アクセスすることは禁止されていますが、利用できる回避策はあります。親フレームの URL を取得するには、次の JavaScript コードを使用できます:
var url = (window.location != window.parent.location) ? document.referrer : document.location.href;
注:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3