我正在使用 Web 浏览器控件“离线”查看缓存的网页。我遇到的问题是,当我加载一个页面时,一些链接显然想从互联网上获取数据。
我对通过允许页面满足任何 GET 请求来“填补空白”不感兴趣。我只是对“按原样”查看网页而不下载任何缺失的部分感兴趣。
Web 浏览器控件中的现有事件没有提供阻止这些请求的简单方法。但是,我确实尝试使用“ProgressChanged”事件,该事件具有正在下载的字节数的参数(例如:e.CurrentProgress,e.MaximumProgess)。如果我在其中放置一个“myBrowser.Stop()”语句,这有点工作,但绝不是 100%。
我正在寻找一个事件处理程序或 API,它可以让我完全阻止传出的 GET 请求——或者——至少可以防止下载的任何内容影响原始 html 文档。
我发现了一个使用 SHDocVw 的 FileDownload 事件处理程序的建议,我可以用它来测试 ActiveDocument = true。如果它是假的,那么我可以取消事件。我已经非常接近实现这一点,但是在编写事件处理程序时,我找不到处理程序的相关 FileDownloadEventArgs。
我将非常感谢有人在这方面的帮助。