Моля, вземете предвид този 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