次の HTA を検討してください。
<html>
<head>
<title>My HTML application</title>
<HTA:APPLICATION
APPLICATIONNAME="My HTML application"
ID="MyHTMLapplication"
SCROLL="No"
VERSION="1.0"/>
</head>
<script language="VBScript">
Sub Window_OnLoad
ResizeTo 100, 100
msgbox Document.Body.OffsetWidth & "x" & Document.Body.OffsetHeight
End Sub
</script>
<body style="border:0;margin:0"></body>
</html>
私のPCでは、111x66と報告されており、これはウィンドウフレームのないウィンドウの実際のサイズです。
<!DOCTYPE html>
この HTAに追加すると、 107x19 となり、幅は実際には正しいのですが、高さは正しくありません。
使用したい場合でも、次のよう<meta http-equiv="X-UA-Compatible" content="IE=EDGE">
になります: 107x0
私の HTA は doctype に依存しており、削除できません。OTOH 実際のウィンドウサイズを検出してそれに基づいて行動できるようにしたいです。
誰かがなぜDocument.Body.OffsetHeight
このように振る舞うかを説明できますか、または正しいウィンドウサイズ(本体要素のサイズ)を検出するための他の解決策を提供できますか?