これが問題のコードです。テストするには、「test.html」という名前のファイルに保存し、左上隅のボタンをクリックします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Blarg</title>
<style type='text/css'>
body { margin: 20px; }
#test { background: red; height: 2000px; }
</style>
</head>
<body>
<div id="test"><input type='button' onclick="javascript:window.showModalDialog('test.html', window, 'dialogWidth: 300px; resizable: yes;');" /></div>
</body>
</html>
通常の IE7 ウィンドウでページを開くと、正常に動作します。
ただし、IE7 モーダル ダイアログで開くと、マージンの上に垂直スクロール バーが描画されます。さらに悪いことに、マージンの上にスクロールバーを描画するため、水平スクロールバーも描画されます。
これを回避するにはどうすればよいですか? 私は絶対に IE モーダル ダイアログを使用する必要があります。それを自由に変更することはできません。