加载到TWebBrowser中的html文档的总高度

我想知道如何将html文件的TOTAL高度加载到TWebBrowser组件(Delphi)中?

我找到了这样的东西,它不起作用:

webbrowser.oleobject.document.body.scrollheight

我把它放在OnDocumentComplete事件中.

我需要高度因为我正在计算ScrollBar的PageSize属性(我的自定义滚动条 – 内置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;
点赞