webborwser控件处理网页弹出框

本文档介绍了如何在使用VS2008的WebBrowser控件时,处理网页中的alert和confirm弹出框。通过重写JavaScript函数,可以避免弹出框锁定进程。例如,将alert弹出框替换为在URL中传递信息,然后在C++代码中捕获这些信息。在`DownloadBeginExplorer`和`BeforeNavigate2Explorer`事件处理函数中实现了这一功能。
摘要由CSDN通过智能技术生成

环境: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事件处理函数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值