博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用webBrowser打开网页出现脚本错误怎么办
阅读量:7191 次
发布时间:2019-06-29

本文共 1799 字,大约阅读时间需要 5 分钟。

当IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误提示框,需要确认后才能够进行执行。如果我们设计的程序是用来自动处理网页的,那么在出现这种情况时,程序运行被打断,需要人工干预。这显然无法达到我们的要求。

      那么,在使用webBrowser打开遇到脚本错误时如何处理才能让程序无干扰的自动运行呢?

      webBrowser给我们提供了一个属性:ScriptErrorsSuppressed 。当不想再遇到脚本错误时弹出错误提示框,可以将该值设为TRUE。

      webBrowser1.ScriptErrorsSuppressed = true;

 

      ScriptErrorsSuppressed 属性的具体的用法如下:

      将此属性设置为 false 可调试显示在 WebBrowser 控件中的网页。如果要使用该控件向应用程序添加基于 Web 的控件和脚本代码,则此属性十分有用。如果将该控件用作泛型浏览器,则此属性用处不大。完成应用程序的调试后,将此属性设置为 true 以取消显示脚本错误。http://hovertree.com/h/bjaf/scjyuanma.htm

      注意:当 ScriptErrorsSuppressed 设置为 true 时,WebBrowser 控件将隐藏其源自基础 ActiveX 控件的所有对话框,而不仅仅是脚本错误。有时,在显示某些对话框(例如,用于浏览器安全设置和用户登录的对话框)时,可能需要取消显示脚本错误。在这种情况下,应将 ScriptErrorsSuppressed 设置为 false,并在 HtmlWindow.Error 事件的处理程序中取消显示脚本错误。

 

      这种做法的负作用如上面红字描述的,如果只想屏蔽脚本错误,可以用以下方法:

      下面的代码演示如何在不取消显示其他对话框的情况下取消显示脚本错误。在此示例中,将 ScriptErrorsSuppressed 属性设置为 false 以确保显示对话框。HtmlWindow.Error 事件的处理程序取消显示该错误。只有在文档已完成加载时才能访问此事件,因此该处理程序被附加到 DocumentCompleted 事件处理程序中。

// 仅隐藏脚本错误,其他错误照样提示   private void SuppressScriptErrorsOnly(WebBrowser browser)    {        // 确信 ScriptErrorsSuppressed 设为 false.        browser.ScriptErrorsSuppressed = false;        // 处理 DocumentCompleted 事件以访问 Document 对象.        browser.DocumentCompleted +=            new WebBrowserDocumentCompletedEventHandler(                browser_DocumentCompleted);    }    private void browser_DocumentCompleted(object sender,        WebBrowserDocumentCompletedEventArgs e)    {        ((WebBrowser)sender).Document.Window.Error +=            new HtmlElementErrorEventHandler(Window_Error);    }    private void Window_Error(object sender,        HtmlElementErrorEventArgs e)    {        // 忽略该错误并抑制错误对话框        e.Handled = true;    }/* 何问起 hovertree.com */

推荐:

转载于:https://www.cnblogs.com/roucheng/p/webBrowser.html

你可能感兴趣的文章
UFS文件系统简明学习笔记
查看>>
详解Redis 的持久化机制--RDB和AOF
查看>>
就算神游 之四:富士山和富士游乐园 9
查看>>
linux 学习 12 服务管理
查看>>
maven全局配置文件settings.xml详解
查看>>
模型图纸数据库设计
查看>>
Two classes have the same XML type name 排错【转】
查看>>
linux笔记:linux常用命令-关机重启命令
查看>>
想要提高网页转换率?试试这16个UI秘诀
查看>>
转)VCSA 6.5重启无法访问,报错“503 Service Unavailable”的解决方法
查看>>
Configuring and troubleshooting a Schema Provider
查看>>
Windows环境安装MySQL数据库
查看>>
javascript函数以及作用域简介
查看>>
Windows Phone 编程中页面间传值方法 - [WP开发]
查看>>
apollo实现c#与android消息推送(四)
查看>>
Spring 上下文操作工具类 ContextUtils
查看>>
程序员的智囊库系列之3--分布式文件系统(Distributed file systems)
查看>>
工具推荐|程序员必须知道的11款新型编程工具
查看>>
Python入门之基础语法
查看>>
poj 2714 Random Walk
查看>>