如何在脚本上打开新的TWebBrowser?

时间:2016-08-26 01:53:42

标签: delphi twebbrowser

我有一个网站(我无法改变)有这个脚本:

<input type="checkbox"  onclick="if (this.checked) openNew()">

function openNew() 
    { 
    window.open("/help?aide=77", "aproposde", "toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=no, copyhistory=no, width=300, height=250, left=500, top=300"); 
    }

我尝试使用TWebBrowser,但在新窗口事件中,始终会打开一个空浏览器:

procedure TForm1.wwwNewWindow2(ASender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
var NF: TForm1;
begin
  NF := TForm1.Create(Application);
  NF.Visible := True;
  NF.www.RegisterAsBrowser;
  ppDisp := NF.www.DefaultInterface;
end;

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以使用NewWindow3事件,如下所示

procedure TForm1.WebBrowser1NewWindow3(ASender: TObject; var ppDisp: IDispatch;
   var Cancel: WordBool; dwFlags: Cardinal; const bstrUrlContext, bstrUrl: WideString);
var NF: TForm1;
begin
  NF := TForm1.Create(Application);
  NF.Visible := True;       
  Cancel := True;
  NF.www.Navigate(bstrUrl);
end;