2

これは私の前の質問へのフォローアップです: IE で Iframe を介してパラメーターを渡す問題。これは決して解決されませんでした。


その核心は次のとおりです。

私の Web サイトから、iframe 経由で取り込まれた別の Web サイトに HTTP GET を実行しようとしています。

Firefox では、正しい URL が正しいパラメータとともに iframe src にあることをソースで確認でき、それは機能します。

IE では、正しい URL が正しいパラメーターとともに iframe src にあることをソースで確認できますが、機能しません...

クエリ文字列の iframe を介してパラメーターを渡すことができない IE について何かありますか?

IE で iframe を更新しようとしました。IE でページと iframe を更新しようとしました。また、URL をコピーして iframe src に貼り付け直しました (入力したかのように強制的に更新します)。その iframe ウィンドウのアドレス バーに挿入します)。まだ運がない!

なぜこれが起こっているのか、またはこれを回避するための提案はありますか?

コードに関しては、ページの読み込み時にバックエンド コードから src を作成し、バックエンドから src 属性を設定するだけです...

//Backend code to set src
mainIframe.Attributes["src"] = srcWeJustCreated;

//Front end iframe code
<iframe id="mainIframe" runat="server" />

ログインして、私が何を意味するかを正確に確認するための一時的なアカウントを作成しました。そうすれば、何が起こっているのかを私に説明させるのではなく、firebug やその他のデバッグ手法を使用して、なぜこれが機能しないのかを突き止めることができます。

編集: アカウントの資格情報を変更しました。代わりにこれを使用してください
ユーザー名: matt
パスワード: globalbuing

このリンクに従って、ログイン ページにアクセスしてください。上記の資格情報でログインすると、メインのバックエンド ページに移動します。左の「Vacations」という画像をクリックすると、iframe のあるページが表示され、そこから Http Get が実行されます。

コードの背後で何が起こっているかなどの詳細が必要な場合は、お知らせください。投稿します。

ありがとう、
マット

4

3 に答える 3

12

Fiddler2を使用して HTTP リクエストを処理した後、さまざまなブラウザーを比較したところ、IE ではリクエストは問題なく行われましたが、iframe.

また、フレーム付きのページを単独で開くと、機能することにも気付きました。さらに、そこで再度ログアウトすると、iframe バージョンも機能します。これは、すでにセッション Cookie があり、iframe設定する必要がないためです。

これは既知のセキュリティ制限であることが判明しました。IE は iframe 内の Cookie をブロックします。しかし、これは、Platform for Privacy Preferences (P3P) を使用することで克服できます。

問題の解決に役立ついくつかのリンクを次に示します。StackOverflow に関する別の (回答済みの) 質問から始めます。

于 2009-09-03T20:41:53.910 に答える
0

あなたが提供したサンプルページは、IE8で私のために働いています。iframeはクロームほど高くはありませんが、正しいページが含まれています。

余談ですが、クエリ文字列を介してログオン資格情報を渡すことは非常に安全ではなく、さまざまなエクスプロイトにさらされていることに注意してください。

于 2009-08-31T17:15:04.443 に答える
0

iframeのURLのアンパサンドはHTMLでエンコードされているようです(&amp;)。これにより、IEがパラメータ名の識別に支障をきたす可能性があると思います。URLにプレーンアンパサンドを使用しても問題は発生しますか?

src属性のエンコードが暗黙的に行われている場合は、Literalテスト目的でコントロールを使用することを検討し、Text不要なエンコードを回避するためにそのプロパティをiframeタグ全体に設定することをお勧めします。

于 2009-09-03T14:14:44.313 に答える