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

时间:2015-01-28 08:11:30

标签: html delphi browser scrollbar twebbrowser

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

我找到了类似的东西而且它无法正常工作:

webbrowser.oleobject.document.body.scrollheight

我把它放在OnDocumentComplete事件中。

我需要高度因为我正在计算ScrollBar的PageSize属性(我的自定义滚动条 - 内置WebBrowser被禁用),这取决于网页高度。

感谢您的任何反馈,最好的问候

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

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;