打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Delphi

Webbrowser1的OnDocumentComplete事件响应代码可以拦截网页Alert弹出的对话框,代码:

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;  const pDisp: IDispatch; var URL: OleVariant);
begin
  ((Sender as TWebBrowser).Document as IHtmlDocument2).parentWindow.execScript('window.alert=function(){}''javascript');
end;

此方法对于含有框架的网页子框架网页脚本弹出的Alert对话框无法拦截,因为虽然每个框架网页文档加载完成都会引发OnDocumentComplete事件,但传入的Sender参数始终是WebBrowser1本身,该事件响应代码对子框架中的网页文档无效。注意到传入的第二个参数pDisp是包含了加载完成的框架的接口,通过这个接口可以获取框架网页的文档的引用,所以利用该参数进行处理就能真正拦截网页弹出的Alert对话框,具体代码:

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  iWB: IWebBrowser2;
begin
  if
 pDisp.QueryInterface(IID_IWebBrowser2, iWB) = s_ok then
  begin

    (iWB.Document as IHTmlDocument2).parentWindow.execScript('window.alert=function(){}','javascript');
  end;
end;

引用单元:MsHtml

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
为什么WebBrowser下载完成一个页触发两次onDocumentComplete事件
delphi WebBrowser 去边框
Delphi实现HTMLWebBrowser实现HTML界面
Delphi XE6 通过JavaScript API调用百度地图
delphi中WEBBrowser网页JS函数调用delphi函数
delphi快速获取网页源码方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服