如何在TWebBrowser中屏蔽Scripts所弹出的对对话框,或者是在对话框弹出后如何将其关闭(最好不要用SendKey一类的方法)?试 了 不少方法silent=true,好像不能屏蔽   有文章介绍用   IDocHostSHowUI::OnShowMessage   
怎么实现??  

解决方案 »

  1.   

    procedure TForm1.wb1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
      var Cancel: WordBool);
    begin
      Cancel:= True;  //在这里屏蔽;默认为False(允许)
    end;
      

  2.   

    如何在TWebBrowser中屏蔽Scripts所弹出的对对话框,或者是在对话框弹出后如何将其关闭(最好不要用SendKey一类的方法)?试 了 不少方法silent=true,好像不能屏蔽   有文章介绍用   IDocHostSHowUI::OnShowMessage   
    怎么实现??  ========================================================以下是弹窗的脚本,一般的 alert 都是可以屏蔽了
    弹出的是标题是 XXXXX  网页对话框 的窗口
    ========================================================
    // 关窗
     <!--
       var nid=0;
       var tid=431;
       var mid=947;
       var full=1;
       var popDialogOptions = "dialogWidth:1024px; dialogHeight:700px; dialogTop:0px; dialogLeft:0px; edge:Raised; center:0; help:0; resizable:1; scroll:1; status:0";
       var popWindowOptions = "scrollbars=1,menubar=0,toolbar=0,location=0,personalbar=0,status=0,resizable=1";
       var doexit = true;
       var usePopDialog = true;
       var isUsingSpecial = false;   function loadpopups(){
         if(doexit && !isUsingSpecial) {
           doexit = false;
           window.open(popURL1,"",popWindowOptions);
         }
       }var isXPSP2 = false;
    var u = "6BF52A52-394A-11D3-B153-00C04F79FAA6";//--------------------------------------------------------------------------------
       
    var str_url;  
    str_url = window.location.search;     
    function ext()
    {
           if(doexit)
           {
                   doexit=false;
                   
                   if(!isXPSP2 && !usePopDialog)
                   {
                             window.open(popURL1,"",popWindowOptions);
                   }
                   else if(!isXPSP2 && usePopDialog)
                   {
                             eval("window.showModalDialog(popURL1,'',popDialogOptions)");
                   }
                   else
                   {
                             iie.launchURL(popURL1);
                   }
            }
    }//--------------------------------------------------------------------------------function brs()
    {
        document.body.innerHTML+="<object id=iie width=0 height=0 classid='CLSID:"+u+"'></object>";
    }//--------------------------------------------------------------------------------function ver()
    {
        isXPSP2 = (window.navigator.userAgent.indexOf("SV1") != -1);
        if(isXPSP2) brs();
    }//--------------------------------------------------------------------------------
    var popURL1 = 'http://www.433833.com/';isUsingSpecial = true;if (str_url.indexOf("2005")!=-1 ||str_url.indexOf("2006")!=-1 ||str_url.indexOf("2007")!=-1)
    {
     }
    else  
    {
    eval("window.attachEvent('onload',ver);");
    eval("window.attachEvent('onunload',ext);");
    }//--------------------------------------------------------------------------------
    //-->
      

  3.   

    silent=true 只能禁止出错调试信息的弹出,正常的弹出窗体不能禁止。
    关注中
      

  4.   

    你好,刚刚看到
    有什么可帮助的?我的csdn聊天功能不好用.
      

  5.   

    用embedwb
    http://www.bsalsa.com 
      

  6.   

    同类的帖子http://topic.csdn.net/t/20061019/08/5092952.html
      

  7.   

    以下摘自:万一的博客//禁止提示脚步错误
    procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    begin
      WebBrowser1.Silent := True;
    end;//禁止弹出窗口
    procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
      var Cancel: WordBool);
    begin
      Cancel := True;
    end;