用TWebBrowser控件,取出scrolltop是0,应该怎么取滚动条的位置? ( 积分: 100 )

  • 主题发起人 主题发起人 尹兆兵
  • 开始时间 开始时间

尹兆兵

Unregistered / Unconfirmed
GUEST, unregistred user!
以下取出来的都是scrolltop=0;
var
i,m: Integer;
Browser: IWebBrowser2;
SW : TShellWindows ;
htmldoc: IHTMLDocument2;
Element2: IHTMLElement2;
Event:IHTMLEventObj;
myHTMLWindow2: IHTMLWindow2;
MaxScrollHeight,speed,ScrollHeight:integer;
begin
ListBox1.Clear;
SW := TShellWindows.Create(Application);
try
for i := 0 to SW.Count - 1 do
begin
Browser := SW.Item(i) as IWebBrowser2;
if Browser=nil then continue;
ListBox1.Items.Add(Browser.LocationName);
if Browser.LocationName='新浪首页' then
begin
htmldoc:=Browser.Document as IHTMLDocument2;
Element2:=htmldoc.body as IHTMLElement2;
ListBox2.Items.Add(inttostr(Element2.scrolltop));
ListBox2.Items.Add(inttostr(htmldoc.body.getAttribute('scrollTop', 0)));
end;
end;
finally
SW.Free;
end;

end;
 
大富翁今非昔比
 
document.body.scrollTop总是零的原因


如果顶部申明

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">

document.body.scrollTop
要改成


document.documentElement.scrollTop
//
htmldoc:=Browser.Document as IHTMLDocument3;
Element2:=htmldoc.documentElement;
ListBox2.Items.Add(inttostr(Element2.scrolltop));
ListBox2.Items.Add(inttostr(htmldoc.documentElement.getAttribute('scrollTop', 0)));
 
谢谢e-!结贴了。
 
后退
顶部