环境:VS2008 webbrowser控件
一、方法简介,
三种形式的网页弹出框会锁定进程,即alert、confirm、prompt,prompt型的是输入框,一般有用,本篇只处理alert 和confirm形式的弹出框。通过重写JavaScript函数,然后C++调用重写后的JS函数,即可,
以alert举例,若要屏蔽弹出框,JS函数如下:
function alert(str) {};
有时候弹出框的信息是有用途的,因此要获取弹出框的信息,这时可通过将弹出框改成打开新网页,信息保存在URL里,然后在打开新网页前获取URL即可知道信息,这时不过河就拆桥,也即不打开该网页。JS函数如下:
function alert(str) {window.navigate('@@alert' + str);};
加'@@alert' 是为了在打开网页时好确定URL是alert的信息
二、新建基于对话框的MFC应用程序,插入WebBrowser控件,添加控件型变量m_webBrowser,重载DownloadBegin和BeforeNavigate2事件处理函数