Пожалуйста, обратите внимание на этот 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>
На моем ПК он сообщает: 111x66, и это фактический размер окна без оконной рамы.
Теперь, если я добавлю <!DOCTYPE html>
к этому HTA, я получу: 107x19, где ширина на самом деле правильная, но не высота.
Если я даже хочу использовать <meta http-equiv="X-UA-Compatible" content="IE=EDGE">
, я получаю: 107x0 сильный>
Мой HTA зависит от типа документа, и я не могу его удалить. OTOH Я хочу иметь возможность определять фактический размер окна и действовать в соответствии с ним.
Может ли кто-нибудь объяснить, почему Document.Body.OffsetHeight
ведет себя так, или, может быть, предоставить другое решение для определения правильного размера окна (размера элемента тела)?
Document.Body.OffsetHeight
, которая, как я уже сообщал, не содержит значимого значения при использовании с объявлением doctype - она всегда возвращает одно и то же значение независимо от размера окна. - person theta   schedule 08.07.2013