`
tomgooityeeee
  • 浏览: 72222 次
文章分类
社区版块
存档分类
最新评论

[转]当用webbrowser1加载网页的时候,网页中出现js错误,会弹出一个提示,如何屏蔽不提示?

    博客分类:
  • java
阅读更多
    <p>webbrowser中的脚本错误处理 <br> 当ie浏览器遇到时脚本错误,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。但是webbrowser控件则没有这么聪明,它会弹出错误信息框,使得程序显的很不友好,而且会让一些自动执行的程序暂停。虽然webbrowser提供了scripterrorssuppressed属性,经过尝试,结果是令人遗憾的,通过设置该属性可以解决部分问题,但不能彻底解决。在此探讨两种解决方案:一是通过截获webbrowser.document.window.error事件,并阻止webbrowser继续处理错误来解决。如下: <br>  //注册捕获控件的错误的处理事件 <br>  this.webbrowser.document.window.error += <br>   new htmlelementerroreventhandler(window_error); <br>  //对错误进行处理 <br>  void window_error(object sender, htmlelementerroreventargs e) <br>  { <br>    e.handled = true; // 阻止其他地方继续处理 <br>  } <br>上面的方法可以解决大部分问题,但对于多个框架嵌套等等的情形还是不能很好的解决,于是只能自己动手封装一个mywebbrowser了,然后用我们自己的mywebbrowser来替代webbrowser。如下: <br>public class mywebbrowser : system.windows.forms.webbrowser <br>{ <br>  private shdocvw.iwebbrowser2 iwb2; <br><br>  protected override void attachinterfaces(object nativeactivexobject) <br>  { <br>    iwb2 = (shdocvw.iwebbrowser2) nativeactivexobject; <br>    iwb2.silent = true; <br>    base.attachinterfaces(nativeactivexobject); <br>  } <br><br>  protected override void detachinterfaces() <br>  { <br>    iwb2 = null; <br>    base.detachinterfaces(); <br>  } <br>} <br><br>这种方法能能很好的解决问题,其实使用过非托管webbrowser的朋友肯定看出来了,实际上是通过引用shdocvw绕过托管代码,直接shdocvw.iwebbrowser2.silent = true,最原始的也是最有效的。 <br><br>==================以上网上原话 <br>因为我也遇到过这样的问题,如果网页是自己做的 其实最好的办法还是在网页中去掉脚本错误</p> 
分享到:
评论

相关推荐

    WebBrowser脚本错误的完美解决方案

    当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动...

    VB、VBA关于webbrowser相关操作大全

    在WebBrowser控件中,我们可以使用ExecScript方法来弹出消息窗口。这个方法可以执行JavaScript代码,以弹出消息窗口。 八、向WebBrowser中写入HTML内容的几种方法 在VB和VBA中,我们可以使用WebBrowser控件的...

    JavaScript网页特效范例宝典源码

    实例009 关闭IE主窗口时,不弹出询问对话框 13 1.2 弹出网页对话框 14 实例010 弹出网页模式对话框 14 实例011 弹出全屏显示的网页模式对话框 16 实例012 网页拾色器 18 实例013 日期选择器 21 1.3 窗口的动画效果 ...

    IE网页js语法错误2行字符1、FF中正常的解决方法

    使用模态窗体则会先弹出此错误然后再显示新打开的界面。网上查了许久,总结解决方案如下: 1. 可能与IE的某些插件冲突。请把所有无关的IE加载项全部禁用后尝试 2. 引用了不存在的js文件 3. 页面的某些文件在文档模型...

    javascript网页特效实例大全(8-12)

    实例241 在弹出的新窗口中选择图片 372 8.6 在页面中播放图片 374 实例242 幻灯片式播放图片 374 实例243 无间断的图片循环滚动效果 376 8.7 图片的其他效果 377 实例244 导航地图 377 8.8 播放音乐 ...

    vc++ 应用源码包_1

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端...

    vc++ 应用源码包_6

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端...

    vc++ 应用源码包_2

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端...

    vc++ 应用源码包_5

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端...

    vc++ 应用源码包_3

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端...

    vc++ 开发实例源码包

    9:采用Messenger的弹出滑动消息提示框. 10:下载管理,虚拟文件夹. 11:自动ping. 12:连接到搜索引擎. 13:自动报告bug,建议等. 14:宏功能. 15:自动同步文件夹. 16:保存加载任务. 17:计划任务. 18:单线程下载时不能创建...

    Java_Web开发实战1200例第1卷.part3

    16.2 弹出网页对话框 634 16.3 窗口的动画效果 643 16.4 窗口控制 652 16.5 框架的应用 659 16.6 无边框窗口 666 第17章 导航条的应用 671 17.1 水平导航条的应用 672 17.2 下拉菜单式导航条 680 17.3 侧导航条设计 ...

    Java_Web开发实战1200例第1卷.part2

    16.2 弹出网页对话框 634 16.3 窗口的动画效果 643 16.4 窗口控制 652 16.5 框架的应用 659 16.6 无边框窗口 666 第17章 导航条的应用 671 17.1 水平导航条的应用 672 17.2 下拉菜单式导航条 680 17.3 侧导航条设计 ...

Global site tag (gtag.js) - Google Analytics