1. ホーム
  2. ジャバスクリプト

[解決済み】iframeから親URLにアクセスする。

2022-04-19 05:09:53

質問

さて、私はあるページを持っていて、このページにiframeを持っています。 iframeのページで、メインページのURLを知りたいのです。

いろいろ検索してみましたが、私の iframe ページが別のドメインにある場合、クロスサイトスクリプティングになるため、これが不可能であることは分かっています。でも、どこを読んでも、もしiframeページが親ページと同じドメインにあれば、例えば私がそうすればうまくいくはずだと書いてあるのですが。

parent.document.location

parent.window.document.location

parent.window.location

parent.document.location.href

...など、同じ情報を得るために複数の方法があるようなので、似たような組み合わせで。

ともあれ、問題はここからです。 私のiframeはメインページと同じドメインにありますが、同じSUBドメインにはありません。 ですから、例えば、私は

http:// www.mysite.com/pageA.html

で、私のiframeのURLは

http:// qa-www.mysite.com/pageB.html

からURLを取得しようとすると pageB.html (iframeのページ)、同じようにアクセス拒否のエラーが出続けています。 サブドメインでもクロスサイトスクリプティングとしてカウントされるようですが、これは正しいのでしょうか、それとも私が何か間違ったことをしているのでしょうか?

解決方法は?

おっしゃるとおりです。iframeを使用する場合、サブドメインはまだ別のドメインとみなされます。を使用してメッセージを渡すことは可能です。 postMessage(...) しかし、他のJS APIは意図的にアクセスできないようにしています。

また、文脈によってはURLを取得することもまだ可能です。詳しくは他の回答をご覧ください。