[解決済み】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を取得することもまだ可能です。詳しくは他の回答をご覧ください。
関連
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptでURLをエンコードする?
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】SecurityError: オリジンを持つフレームがクロスオリジンフレームにアクセスするのをブロックした
-
[解決済み】JavaScriptのinnerHTMLで要素が更新されない
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】Kendo Observable Bindingと併用する場合、Kendo Switch Labelsを変更することは可能ですか?[Kendo-UI]です。
-
[解決済み] なぜdocument.writeは「バッドプラクティス」と言われるのですか?