【发布时间】:2015-09-10 07:26:41
【问题描述】:
我正在编写一个文档视图,我想将 WebBrowser 控件的功能用于某些文件格式(pdf、电子邮件)。
现在我有一个问题,对于 WebBrowser 控件未知的每种文件格式,它都提供下载文件。
所以问题是:如何找出浏览器可以显示哪些文件格式(文件扩展名),以便我可以向用户显示不支持显示当前文件格式的消息,而不是获取“是否要下载”对话框。
【问题讨论】:
标签: c# .net wpf webbrowser-control
我正在编写一个文档视图,我想将 WebBrowser 控件的功能用于某些文件格式(pdf、电子邮件)。
现在我有一个问题,对于 WebBrowser 控件未知的每种文件格式,它都提供下载文件。
所以问题是:如何找出浏览器可以显示哪些文件格式(文件扩展名),以便我可以向用户显示不支持显示当前文件格式的消息,而不是获取“是否要下载”对话框。
【问题讨论】:
标签: c# .net wpf webbrowser-control
如果我是你,我不会使用 WebBrowser 控件,原因如下:
WebBrowser 只是 IE 引擎的封装。它默认使用旧版本的 IE,因此它可能无法正确显示具有基本 CSS 样式的 HTML 文档。可以强制使用较新版本的 IE 甚至其他引擎,但这需要一些努力。
WebBrowser 控件的目的是显示和浏览网页。导航本质上是下载。我相信阻止 WebBrowser 下载文件即使不是不可能也很难。我相信您可以这样做的一种方法是修改 html 文件,如下所示:Remove hyperlink but keep text? 此外,您可能希望阻止上下文菜单打开。
我建议您使用许多免版税的 PDF 查看控件之一,而不是使用 WebBrowser,并将您的 html 文档转换为 PDF。我相信建议的方法会花费您更少的时间并且会更强大
【讨论】: