webborwser控件處理網頁彈出框

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章