我希望知道如何获取加载到TWebBrowser组件(Delphi)中的html文档的总高度?
我已经找到了类似于以下内容,但并不起作用:
webbrowser.oleobject.document.body.scrollheight
我把它放在OnDocumentComplete事件里。
我需要高度,因为我正在计算ScrollBar的PageSize属性(我的自定义ScrollBar - 内置WebBrowser已禁用),该属性取决于网页的高度。
感谢任何反馈,最好的问候
我希望知道如何获取加载到TWebBrowser组件(Delphi)中的html文档的总高度?
我已经找到了类似于以下内容,但并不起作用:
webbrowser.oleobject.document.body.scrollheight
我把它放在OnDocumentComplete事件里。
我需要高度,因为我正在计算ScrollBar的PageSize属性(我的自定义ScrollBar - 内置WebBrowser已禁用),该属性取决于网页的高度。
感谢任何反馈,最好的问候
像这样的代码应该可以正常工作:
uses MSHTML;
var
HtmlElement: IHTMLElement2;
PageHeight: Integer;
begin
with MyWebBrowser.ControlInterface do
begin
HtmlElement := (Document as IHTMLDocument3).documentElement as IHTMLElement2;
end;
PageHeight := HtmlElement.scrollHeight;
end;
body
元素似乎给出了略小的值:var
BodyElement: IHTMLElement2;
PageHeight: Integer;
begin
with MyWebBrowser.ControlInterface do
begin
BodyElement := (Document as IHTMLDocument2).body as IHTMLElement2;
end;
PageHeight := BodyElement.scrollHeight;
end;