如何在c#中创建一个web浏览器控件

本文关键字:一个 web 控件 浏览器 创建 | 更新日期: 2023-09-27 18:14:34

我正在使用web浏览器控件来查看缓存的网页"脱机"。我遇到的问题是,当我加载一个页面时,一些链接显然想从互联网上获取数据。

我对通过允许页面满足任何GET请求来"填补空白"不感兴趣。我只是对浏览网页"AS IS"感兴趣,而不下载任何缺失的部分。

Web Browser控件中的现有事件没有提供阻止这些请求的简单方法。然而,我确实尝试使用"ProgressChanged"事件,该事件具有下载字节数的参数(例如:e.c currentprogress, e.m maximumprogress)。如果我在那里放置一个"myBrowser.Stop()"语句,这在一定程度上是有效的,但绝不是100%。

我正在寻找一个事件处理程序或API,它将允许我完全阻止外出GET请求-或者-至少防止任何下载影响原始html文档。

我发现一个建议使用SHDocVw的FileDownload事件处理程序,我可以用它来测试,看看是否ActiveDocument = true。如果它是假的,那么我可以取消这个事件。我非常接近实现这一行的东西,但当涉及到编写事件处理程序时,我找不到处理程序的相关filedownloaddeventargs。

如果有人能帮我,我会非常感激的。

如何在c#中创建一个web浏览器控件

解析静态内容并删除所有脚本,样式和链接元素,任何具有srchref的元素都应该将这些属性设置为null。