有时需要强行跳转页面,此时弹出的模式对话框却阻止了页面的跳转,可以禁止模式对话的弹出,再强行跳转页面还是能GOBACK强行跳转吗?我用的是VC,盼高手指点,谢谢

解决方案 »

  1.   

    楼上的,不好意思,我的问题是:有时需要强行跳转页面,此时弹出的模式对话框却阻止了页面的跳转。有可以禁止模式对话的弹出,再强行跳转页面,或者是能使GOBACK强行跳转的方法吗?我用的是VC,盼高手指点,谢谢 
     
     
      

  2.   

    具体是什么模式对话框?比如安全警告or脚本错误or...1) 不弹出模式对话框   在chtmlview/webbrowser中禁用这类模式对话框(不弹出模式对话框)
        IWebBrowser2::put_Silent
       
       或者在页面navigatecomplete事件中,添加脚本,把alert等替换为空:
       "window.alert = null;\r\nwindow.confirm = null;\r\nwindow.open = null;\r\nwindow.showModalDialog = null;"
       IHTMLWindow2::execScript(s, "javascript");  
    2) 如果模式对话框不能避免出现,那么需要(进程内)hook 把弹出的模式对话框自动关掉
       hook类型: WH_CBT, HCBT_ACTIVATE 
       使用spy++看看你的弹出的模式对话框的 classname, wnd caption等信息。
       (也可使用timer,更简单点,但是可能会看到该对话框一闪...)