以下是写在twebbrowser的navigatebefore2事件中
var
tag:integer;
webbrowser:Tembeddedwb;//twebbrowser的增强控件
webtime:Ttimer;
doc:ihtmldocument2;
title:string;
frames:IHTMLFramesCollection2;
begin
if (sender as tembeddedwb).document<>nil then //只有网页完全引导了以后才能用doc。
begin
(sender as tembeddedwb).document.QueryInterface(ihtmldocument2,doc);
title:=doc.Get_title;//得到网页的title
frames:=doc.Get_frames;//得到网页的帧
if title<>'' then
if frames.length = 0 then //有几个帧length为几
begin
Cancel :=true;//使navigate2失效
webbrowser:=newpages('');//newpages是新建一个窗卡
tag:=webbrowser.Tag;//新建窗卡时我们要为每一个webbrowser设定一个唯一的tag值
webbrowser.Hint:=url;
webtime:=Ttimer.Create(self);
webtime.Tag:=tag;
webtime.Interval:=1000;
webtime.OnTimer:=timer;//ontimer事件在下面
end;
end;
end;
//ontimer事件
var
myurl:string;
i,tag:integer;
begin
tag:=(sender as Ttimer).tag;
for i:=0 to browserbar.PageCount-1 do
if browserbar.Pages.Controls[0].Tag =tag then
begin
myurl:=(browserbar.pages.Controls[0] as Tembeddedwb).hint;
(browserbar.Pages.Controls[0] as tembeddedwb).navigate(myurl);
(sender as Ttimer).Destroy;
end;
end;
可能还有bug,帮我找找;