在TWebBrowser中也打开新页面

时间:2011-07-15 05:20:57

标签: delphi delphi-7 twebbrowser

我创建了一个带有twebBrowser的应用程序。问题是当我点击一些链接时,例如gmail,它会在我的默认浏览器(即IE)的新窗口中打开。我如何让它像firefox或chrome等一样工作,打开窗口中点击的链接。网址应该在TWebBrowser的窗口中打开。我必须在运行时使用TWebBrowser在运行时创建一个新表单吗?代码不需要这样,想法会做

先谢谢。

P.S。我的组织阻止Gmail,Facebook等。但是通过我的TWebBrowser,我可以打开它们。我的QA ppl可以在他们的日志中看到吗?我的猜测是否定的,从那时起他们就会阻止它。你对此有何评论

1 个答案:

答案 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

相关问题