1

応答.sendRedirect()を使用してページが別のページにリダイレクトされた直後にFacesContext.responseComplete()が呼び出された後、IE(IE8)が現在のページをレンダリングしようとしている理由。他のブラウザ(Firefox、Chrome、Opera ...)は、現在のページをレンダリングしようとせずに、別のページにジャンプするだけです。私はJSF1.2とRichfaces3.3finalを使用しています。トリガーされるコマンドボタンのJSFライフサイクルを以下に示します。IEの検証フェーズに注意してください。検証が根本的な原因ですか?

他のブラウザ

RESTORE_VIEW1の前

RESTORE_VIEW1の後

APPLY_REQUEST_VALUES2の前

APPLY_REQUEST_VALUES2の後

PROCESS_VALIDATIONS3の前

PROCESS_VALIDATIONS3の後

UPDATE_MODEL_VALUES4の前

UPDATE_MODEL_VALUES4の後

INVOKE_APPLICATION5の前

INVOKE_APPLICATION5の後

RENDER_RESPONSE6の前

RENDER_RESPONSE6の後

RESTORE_VIEW1の前

RESTORE_VIEW1の後

RENDER_RESPONSE6の前

RENDER_RESPONSE6の後

IE

RESTORE_VIEW1の前

RESTORE_VIEW1の後

APPLY_REQUEST_VALUES2の前

APPLY_REQUEST_VALUES2の後

PROCESS_VALIDATIONS3の前

PROCESS_VALIDATIONS3の後

UPDATE_MODEL_VALUES4の前

UPDATE_MODEL_VALUES4の後

INVOKE_APPLICATION5の前

INVOKE_APPLICATION5の後

RENDER_RESPONSE6の前

RENDER_RESPONSE6の後

RESTORE_VIEW1の前

RESTORE_VIEW1の後

APPLY_REQUEST_VALUES2の前

APPLY_REQUEST_VALUES2の後

PROCESS_VALIDATIONS3の前

...エラー(質問とは関係ありません)

PROCESS_VALIDATIONS3の後

RESTORE_VIEW1の前

RESTORE_VIEW1の後

RENDER_RESPONSE6の前

RENDER_RESPONSE6の後

4

1 に答える 1

0

この問題はJSFとは関係ありません。ブラウザ固有の問題は通常、JSFなどのサーバー側コードではなく、HTML / CSS/JSなどのクライアント側コードによって引き起こされます。この特定の問題は、JavaScriptの問題として認識されます。フォームの自動送信など、onload/DOM対応中に何らかのタスクを実行するJavaScriptコードがないかどうかを確認する必要があります。つまり、フェーズリスナートレースは、POSTリクエストが実行されたことを示します(フェーズ#2から#5までは、通常、ポストバック中にのみ表示されます)。

ほとんどの場合、MSIEでPOSTリクエストがトリガーされる原因となった予期しないブラウザ固有のJS状態があります。

于 2012-10-31T18:26:04.707 に答える