別のサーバーから自分のページにページをロードするアプリケーションを構築しています。データを取得している特定のページは、その外部サーバーで (OAuth アクセスを使用して) 実行されているクエリに依存します。そのページの URL を取得したら、それを iFrame にロードして自分のページに表示します。
問題は、クエリが提供する URL が実際には、実際に行きたい場所に到達する前に 3 回転送されるページへの URL であることです。さらに複雑なことに、最初のページにフレームバスター コードもあります。フレームバスターを打ち負かすために、ページのアンロード時に204ステータスを返すページにリダイレクトするようにページを設定しましたが、必要なコンテンツの代わりに最初の空白ページを表示するだけでスタックします。リダイレクトします。
私の最初のアイデアは、ページのアンロード時に発信位置リクエストのコードを取得しようとすることでした。ユーザーがリダイレクトされている場所を確認し、代わりにそのリクエストを iFrame 内にロードできることを望んでいました。3 回繰り返して、iFrame で正しいページを取得します。しかし、直感的には、これは機能しないはずだと感じました。もちろん、ユーザーがサイトを離れたときにページがどこに行くのかをページに表示できるようにすることは、プライバシーに関する重大な問題になるためです。
次に、リダイレクト用のスクリプトを見つけるために、iFrame にロードされた新しいページを順番に解析できるのではないかと考えていました。ただし、取得していたコードを調べても何も起こらなかったため、サーバー側で行われたと確信しています。
iFrame 内でそのリダイレクトを維持する方法を探し始めました。つまり、リダイレクトの発生を許可しますが、フレームバスターコードが何もしないようにしながら、強制的に iFrame 内にとどまらせます。これが最も簡単な解決策ですが、良い方法が見つかりません。現在、iFrame 内に空白のページが読み込まれているだけですが、iFrame で実行されていないリダイレクトを実行するサーバー側に何かがあると思います。フレーム バスター コードは、iFrame ではなく、ドキュメント全体の変更のみを防止します。これを行う良い方法はありますか、それとも間違った方法で進んでいますか?