PowerTools SPREAD for ASP.NET 8.0J > 開発者の手引き > 製品について > ブラウザのレンダリング |
SPREADを使用して作成したWebアプリケーションはサーバー上に置かれ、クライアント側のエンドユーザーからアクセスされます。このとき、クライアント側にHTMLページを生成しますが、ブラウザによって出力されるHTMLが異なります。
SPREADは、ユーザーエージェントにてブラウザを判別して各々のブラウザに合わせて処理を実装しています。
一方、Internet Explorer(以下IE)では「ドキュメントモード」と「ブラウザーモード(ユーザーエージェント)」との機能が提供されています。
WebページをどのバージョンのIEでブラウズするのかを決めます。このモードはユーザーエージェント文字列で指定することができます。ブラウザの種類やバージョンの判定に使用されます。
どのバージョンのIEのレンダリングエンジンでHTMLをレンダリングするのかを決めます。このモードの指定はMETAタグへのX-UA-Compatibleタグの記述、HTTP レスポンスヘッダー、DOC TYPE宣言という優先順位になっています。
詳細な情報については、MSDNで公開している記事(ドキュメント互換性の定義)を参照してください。
SPREADは、IEの標準モードで実行すれば問題なく動作しますが、上記2つのモードのIEのバージョンが一致しない設定を行った場合は正しく動作しない場合があるので注意が必要です。
例えば、HEAD 要素に以下のMETAタグを記述すると、ドキュメントモードはIE8となります。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
しかし、このページをIE11で表示すると、ブラウザーモード(ユーザーエージェント)がIE11になり、ドキュメントモードのIEのバージョンと一致しません。この状態でSPREADを実行してもレイアウトが崩れたり、スクリプトエラーが発生するなど、正しく動作しません。
この場合に備え、FpSpread クラス のDocumentMode プロパティを使用することで、SPREADではどのバージョンのIEに適したレンダリングをするかを設定することができます。
次のサンプルコードは、ユーザーエージェントがIE8でWebページを表示した場合と同じHTMLが出力します。METAタグによりドキュメントモードがIE8に設定されている場合に有効です。
![]() |
|
DOCTYPE宣言により、標準準拠モードに設定すると、SPREADは次の点に関して影響を受けます。
標準準拠モードで表示すると列幅にセルの余白分の幅を付加して表示します。