環境: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事件處理函數