Delphi_WebBrowser禁止弹出Alert对话框
来源:互联网 发布:汽车用品批发市场淘宝 编辑:程序博客网 时间:2024/05/27 19:26
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
- Delphi_WebBrowser禁止弹出Alert对话框
- TWebBrowser禁止弹出Alert对话框
- Delphi_Webbrowser中自动点击Alert弹出窗口中的按钮
- 弹出alert对话框
- 禁止ie弹出alert窗口
- 禁止ie弹出alert窗口
- 禁止ie弹出alert窗口
- ios alert对话框 弹出菜单
- 禁止WebBrowser控件弹出对话框
- 禁止WebBrowser弹出网页对话框
- ExtJS Ext.MessageBox.alert()弹出对话框详解
- ASP.NET AJAX下alert弹出对话框
- ExtJS Ext.MessageBox.alert()弹出对话框详解
- 弹出错误对话框alert('error')--struts
- 页面加载时弹出alert对话框
- iPad点击按钮弹出alert对话框崩溃
- selenium java等待alert对话框弹出,并关闭对话框
- WebBrowser控件中禁止alert,confirm等对话框的方法
- TopCoder SRM 598 Div1 第1题
- 第14周项目4--拓展一--字符数组排序
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- Java 23种设计模式详尽分析与实例解析之二--结构型模式
- 从零开始Windows Phone开发(四):第四个练习Stopwatch
- Delphi_WebBrowser禁止弹出Alert对话框
- 笔试题一:strcpy函数实现
- 配置Ubuntu文件默认打开方式
- CERT Secure Coding Standard — C语言安全编程规范
- easyui datebox today按钮点击无效 解决办法
- 第14周项目5--字符串统计
- JSP介绍及视频教程
- 完整复制str1中的数据,并存储在str2中
- 读取二进制文件特定位置的某些字节