QA@IT

localhost接続時にモーダルダイアログの表示が乱れる

9251 PV

ASP.netから showModalDialogメソッドでサイズを指定して別windowを表示する
アプリケーションを作成したのですが、localhost指定の場合にのみ
サイズが反映されてない現象に悩んでおります。

http://localhost/XXX.aspx  … 引数で指定したサイズが反映されない (異常)
http://コンピュータ名/XXX.aspx  … 引数で指定したサイズが反映される (正常)

localhost指定でもサイズ指定通りに表示させる方法を教えていただけないでしょうか?

※IE11インストール直後からこの現象が発生したように思われます。

動作環境

OS : Windows7 Ent
WEBサーバー : IIS6.1
ブラウザ : IE11
アプリ : ASP.net 2.0

  • aspxではなく、そのshowModalDialogぐらいしか書いていない htmlでも同じことが起こりますか?具体的にどういう showModalDialogの引数指定ですか? -

回答

IE のドキュメントモードの違いだと思います。F12 開発者ツールで調べてください。一方が標準モード、他方が互換モードになっているのではないかと思います。

また[ツール(T)]⇒[互換表示設定(B)]で表示されるダイアログで[イントラネットサイトを互換表示で表示する(I)]にチェックが入っているかどうか調べてください(デフォルトで入っているはず)。

その場合は、チェックを外すか、以下の記事を参考に meta タグを設定するかしてみてください。

ドキュメント互換性の定義
https://msdn.microsoft.com/ja-jp/library/cc288325(v=vs.85).aspx

編集 履歴 (1)
  • ご回答ありがとうございます。
    開発者モードで確認しましたところ。
    localhost指定ではドキュメントモード=Edge(既定)
    コンピュータ名指定ではドキュメントモード=7(既定)
    になっておりました。
    ただ、何故か<meta>タグで描画モードを固定できませんでした。
    Edgeでも正しく表示できるようにアプローチの方針を変更したいと思います。
    -
  • 「Edgeでも正しく表示できるようにアプローチの方針を変更」ということであれば、ASP.NET Ajax Control Toolkit の ModalPopupExtender を利用することを検討されてはいかがでしょう。showModalDialog はただでさえ問題多すぎですので。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。