cX对WebBrowser的扩展资料汇总.docxVIP

  • 5
  • 0
  • 约8.23万字
  • 约 89页
  • 2017-03-15 发布于四川
  • 举报
C#Webbrowser中屏蔽弹出窗口及脚本错误提示当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。今天探讨的方法是从控件解决问题。1、SHDocVw.dll在COM时代我们使用的WebBrowser控件是SHDocVw.dll。屏蔽错误信息的方法很简单使用下面的一句就可以搞定。[c-sharp]view plaincopyprint?WebBrowser1.Silent?=?true;??2、.Net中在.Net中提供了托管的WebBrowser可供我们使用,当然我们仍然可以在.Net中使用COM组建SHDocVw.dll,如果使用SHDocVw.dll 处理错误方式和上面的方法一样。但如果我们是使用.Net组件如何解决这个问题呢?在.Net中提供了托管的WebBrowser可供我们使用,当然我们仍然可以在.Net中使用COM组建SHDocVw.dll,如果使用SHDocVw.dll 处理错误方式和上面的方法一样。但如果我们是使用.Net组件如何解决这个问题呢?[c-sharp]view plaincopyprint?webBrowser1.ScriptErrorsSuppressed?=?true;??(据说在.net framework2.0以前是这样,我没有使用过)那么在.net framework2.0中如何解决这个问题呢?有一种方法不能彻底解决,可以部分解决问题这里也介绍给大家。[c-sharp]view plaincopyprint?//捕获控件的错误??this.WebBrowser.Document.Window.Error?+=?new?HtmlElementErrorEventHandler(Window_Error);??//对错误进行处理??void?Window_Error(object?sender,?HtmlElementErrorEventArgs?e)??{???????//?自己的处理代码??????e.Handled?=?true;??}??3、上面的方法对于多个框架嵌套等等的情形还是不能很好的解决。为了彻底解决这个问题,我们借助AxWebBrowser来解决WebBrowser的问题。我们定义一个自己的类,他的父类是WebBrowser,以后使用这个类就可以了。在这个类的定义中需要引用SHDocVw。[c-sharp]view plaincopyprint?class?EWebBrowser?:?System.Windows.Forms.WebBrowser??{??????SHDocVw.IWebBrowser2?Iwb2;????????protected?override?void?AttachInterfaces(object?nativeActiveXObject)??????{??????????Iwb2?=?(SHDocVw.IWebBrowser2)?nativeActiveXObject;??????????Iwb2.Silent?=?true;??????????base.AttachInterfaces(nativeActiveXObject);??????}????????protected?override?void?DetachInterfaces()??????{??????????Iwb2?=?null;??????????base.DetachInterfaces();??????}??}????????//项目中添加Micrsoft.mshtml引用??using?mshtml;????private?void?webBrowser1_Navigated(object?sender,?WebBrowserNavigatedEventArgs?e)??{??????IHTMLDocument2?vDocument?=?(IHTMLDocument2)webBrowser1.Document.DomDocument;??????vDocument.parentWindow.execScript(??????????function?alert(str){if(str==zswang)confirm(str);},?javaScript);??}????//frame结构????private?void?webBrowser1_Navigated(object?sender,?WebBrowserNavigatedEve

文档评论(0)

1亿VIP精品文档

相关文档