3

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

提前致谢。

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

4

1 回答 1

5

TWebBrowser有一个OnNewWindow2事件。假设持有 的表单TWebBrowser是命名Form1的,而 web-control 本身是命名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当“点击”应该导致一个新窗口时,会有一个新窗口。

于 2011-07-15T05:50:30.167 回答