c# - 如何区分 .net WebBrowser 组件和实际浏览器?

标签 c# .net webbrowser-control

好的,我们有一个可通过我们的软件访问的在线下载商店。最近我们收到了允许通过普通浏览器下载的请求,只需打开下载页面就相当容易了。问题是拥有两个下载链接的人会感到困惑,一个用于软件,一个用于 Web 浏览器,因此我们希望区分两者并仅显示相关的下载链接。

据我所知,.net WebBrowser 组件与 IE 相同并使用相同的用户代理,因此我们不能使用它,除非我们在软件中对 WebBrowser 进行子类化以使其使用特定的用户代理.这是更明智的选择,但我们必须推出另一个更新版本,这不太理想。

是否有任何其他方法可以判断某人是否通过 .net 组件访问站点?我唯一的另一种选择是将商店复制到具有不同下载链接的不同地址,然后派人去那里。同样,这是可行的,但并不理想。

最佳答案

检查 window.external 是否为空。 IE 实现 window.external 以拥有像 AddSearchProvider 这样的方法,其中大部分时间 WebBrowser.ObjectForScripting 为 null。

关于c# - 如何区分 .net WebBrowser 组件和实际浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2552807/

相关文章:

c# - Caliburn.Micro,MVVM 模式 : CanExecute command doesn't work

c# - cshtml C#已经存在一个与此连接相关联的打开的DataReader,必须先关闭它

.net - 将列表/数组/集合传递到 WCF 数据服务 (OData) 服务操作中

c# - .NET WebBrowser 控件中的 HtmlDocument.InvokeScript 问题

c# - XNA 4.0 中的 WebBrowser 无法导航

c# - 在 WebBrowser 控件中设置 cookie

C#:如何将整数四舍五入到最接近的 1000

c# - 从在单独线程上运行的方法返回列表

c# - IIS 7.0 与 7.5 站点 Microsoft.Web.Administration.Site BindingCollection

c# - LINQ OrderBy 有一个异常(exception)