2

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

我对通过允许页面满足任何 GET 请求来“填补空白”不感兴趣。我只是对“按原样”查看网页而不下载任何缺失的部分感兴趣。

Web 浏览器控件中的现有事件没有提供阻止这些请求的简单方法。但是,我确实尝试使用“ProgressChanged”事件,该事件具有正在下载的字节数的参数(例如:e.CurrentProgress,e.MaximumProgess)。如果我在其中放置一个“myBrowser.Stop()”语句,这有点工作,但绝不是 100%。

我正在寻找一个事件处理程序或 API,它可以让我完全阻止传出的 GET 请求——或者——至少可以防止下载的任何内容影响原始 html 文档。

我发现了一个使用 SHDocVw 的 FileDownload 事件处理程序的建议,我可以用它来测试 ActiveDocument = true。如果它是假的,那么我可以取消事件。我已经非常接近实现这一点,但是在编写事件处理程序时,我找不到处理程序的相关 FileDownloadEventArgs。

我将非常感谢有人在这方面的帮助。

4

1 回答 1

1

解析静态内容并删除所有 script、style 和 link 元素,任何具有srchref应该将这些属性设置为 null 的元素。这将防止获取任何内容。

于 2013-05-21T16:28:56.780 回答