我创建了一个带有twebBrowser的应用程序。问题是当我点击一些链接时,例如gmail,它会在我的默认浏览器(即IE)的新窗口中打开。我如何让它像firefox或chrome等一样工作,打开窗口中点击的链接。网址应该在TWebBrowser的窗口中打开。我必须在运行时使用TWebBrowser在运行时创建一个新表单吗?代码不需要这样,想法会做
先谢谢。
P.S。我的组织阻止Gmail,Facebook等。但是通过我的TWebBrowser,我可以打开它们。我的QA ppl可以在他们的日志中看到吗?我的猜测是否定的,从那时起他们就会阻止它。你对此有何评论
答案 0 :(得分:5)
TWebBrowser
发生OnNewWindow2
事件。假设持有TWebBrowser
的表单名为Form1
且Web控件本身名为WebBrowser1
,请编写如下处理程序:
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
var NF: TForm1;
begin
NF := TForm1.Create(Application);
NF.Visible := True;
NF.WebBrowser1.RegisterAsBrowser;
ppDisp := NF.WebBrowser1.DefaultInterface;
end;
这将创建一个新窗口,当“点击”应该通向新窗口时会显示新的TWebBrowser
。