差不多这样就可以了。一个判断 procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if url='form2' then begin form2:=Tform2.create(self); form2.show; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('d:\index.html'); end;procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if URL='d:\test' then begin form2:=TForm2.create(self); form2.show; end;一模一样的代码同样不行,webbrowser1里面的页面就链接到下一步了。下面这个事件根本就没触发
kele8台球就是很好的例子
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if url='form2' then
begin
form2:=Tform2.create(self);
form2.show;
end;
end;
linzhisong(無聊) 兄的代码没有问题
其中 url='form2' 得处理好了
比如:webbrowser载入的页面是d:\1.htm
1.htm的源码如下:
<a href="test">test1111</a>
那么url="d:\test"就ok了
begin
WebBrowser1.Navigate('d:\index.html');
end;procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
if URL='d:\test' then
begin
form2:=TForm2.create(self);
form2.show;
end;一模一样的代码同样不行,webbrowser1里面的页面就链接到下一步了。下面这个事件根本就没触发