先日仕事で依頼された不具合対応なんだけど、健忘録代わりに。
その仕事のシステムはWebベースの販売管理システムの一部なんだけど、JavaScriptのwindows.showModalDialogを使って別ウィンドウを表示する機能があって、
IE10で動かしたらウィンドウが指定サイズを無視して小さく表示される現象がみつかったので、私の所に対応依頼が来ました。
この現象は下記の2つの条件で発生する模様。
・IE9以降でwindows.showModalDialogを使用する。
・呼び出し先のHTMLでframesetを使ってる。
たぶんframesetを使う=bodyタグが無いってのが関係してそう。
で、解決法だけど、そもそも互換性の低い(Operaだと動かないしChromeやFireFoxだとモーダルにならない)showModalDialogを使わないで、レイヤで擬似ダイアログにするとか、別窓開きたいだけならwindow.openで対処するとかするべきだと思うんだけど、依頼主から
「予算が無いから極力工数掛けたくない」
って言われたので、呼び出し先でframesetの代わりにiframeを並べることで対処しました。
対処の話は以上なんだけど、なんつーかこの現象ってバグな訳じゃん?
しかもIE9から発生しててIE10でも直ってない。
こんな分かりやすい現象、バグ報告が上がってないわけないと思うけど、直さないつもりかねマイクロソフト。