我不确定我是否可以清楚地解释这一点。
我有一些简单的HTML代码,并将其加载到Twebbrowser。然后,我想得到我的HTML输出的Rect,以便我可以正确调整我的Twebbrowser的高度。
这就像自动调整大小一样,但它只是自动调整大小的高度。 那可能吗?
提前预定...
答案 0 :(得分:2)
您可以使用document.body.scrollWidth和scrollHeight
在TWebBrowser的文档完成事件中计算页面高度
答案 1 :(得分:2)
此代码可以帮助您入门:
uses MSHTML, Math;
var
HtmlElement, BodyElement:IHTMLElement2;
PageWidth, PageHeight: Integer;
begin
with WebBrowser1.ControlInterface do
begin
HtmlElement:=(Document as IHTMLDocument3).documentElement as IHTMLElement2;
BodyElement:=(Document as IHTMLDocument2).body as IHTMLElement2;
end;
PageWidth:= Max(BodyElement.scrollWidth, HtmlElement.scrollWidth);
PageHeight:= Max(BodyElement.scrollHeight, HtmlElement.scrollHeight);
end;
我从HTML元素和BODY元素中读取尺寸并取最大值,因为它们通常具有不同的尺寸。更常见的是,其中一个返回大小为0x0。此行为也从浏览器版本更改为浏览器版本。这是一种解决方法,您必须检查这是否是在您的用例中处理它的正确方法。
注意:@Darkerstar图片是用于获取元素尺寸的旧MSDN插图。更新版本(对于IE9)似乎是这个:Measuring Element Dimension and Location with CSSOM in Internet Explorer 9。