在webBrowser中浏览网页,如果遇到target="_blank"   ,就会用IE打开,有什么办法可以让他在WEBBROWSER中打开吗?
我试过
procedure TForm1.WebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
begin
    // 將新視窗在自身開啟
        ppdisp := webBrowser.Application;
end;
还是跳出新窗

解决方案 »

  1.   

    // Set OnNewWindow Event
       FBrowser.OnNewWindow2 := OnIENewWindow;procedure TfrmBizMain.OnIENewWindow(ASender: TObject; var ppDisp: IDispatch;
      var Cancel: WordBool);
    var
      FBrowser: TIEBrowser;
    begin
      if ASender is TIEBrowser then
      begin
        Cancel := not actNewTab.Execute; // Create A New WebBrowser
        if not Cancel then
        begin
          FBrowser := GetBrowser;// Get The Browser just Created
          if Assigned(FBrowser) then
            ppDisp := FBrowser.Application;
        end;
      end;
    end;
      

  2.   

    谢谢jacksoft兄的回答,有几个问题。TIEBrowser这个是什么类?FBrowser.OnNewWindow2 := OnIENewWindow; 
    这个为什么要重新定义?在程序哪里定义?要加入Tab控件吗?是否一定要Tab控件?
    我的目的是想无视target=_blank,浏览总在同一个webBrowser
      

  3.   

    楼主的要求可以实现。
    1,WebBrowserNewWindow2里Cancel=-1;
    2,当前的webBrowser再导航到指定的URL上就行了。
      

  4.   


    在WebBrowserNewWindow2如何获得webbrowser的url?我刚刚试了,不行呀,请兄弟给出具体代码,谢谢。