为什么Android设备上的Firefox 44.*中的.Net HttpContext.Current.Request
本文关键字:中的 Net HttpContext Request Current Firefox Android 为什么 | 更新日期: 2023-09-27 18:36:54
为什么Android设备上的Firefox 44.*中.Net HttpContext.Current.Request.Browser.IsMobileDevice为false?
如何在我的.Net应用程序中修复此问题?我尝试在App_Browsers中创建浏览器定义,但不起作用!
用户代理是:浏览器:Firefox,版本:44.0,用户代理:Mozilla/5.0(Android 5.0;Mobile;rv:44.0(Gecko/44.0 Firefox/44.0
*抱歉英语不好
我公司的另一位开发人员解决了这个问题,他只是在App_Browsers"firefoxnew.brower"文件夹中创建了一个新文件,其中包含以下内容:
<browsers>
<!--Mozilla/5.0 (Android 5.0; Mobile; rv:44.0) Gecko/44.0 Firefox/44.0-->
<browser id="FirefoxMobile" parentID="firefox3plus">
<identification>
<userAgent match="Mozilla.+'(Android.+Mobile.*')" />
</identification>
<capabilities>
<capability name="isMobileDevice" value="true" />
</capabilities>
</browser>
</browsers>
我在旧的.Net版本中遇到了类似的问题-我发现某些"平板电脑"设备正在通过,所以我读取了UserAgent字符串
httpContext.Request.UserAgent != null
&& (httpContext.Request.UserAgent.ToLowerInvariant().Contains("mobi")
|| httpContext.Request.UserAgent.ToLowerInvariant().Contains("ereader")
|| httpContext.Request.UserAgent.ToLowerInvariant().Contains("smartphone")
|| httpContext.Request.UserAgent.ToLowerInvariant().Contains("iphone")
|| httpContext.Request.UserAgent.ToLowerInvariant().Contains("ipad")
|| httpContext.Request.UserAgent.ToLowerInvariant().Contains("ios")
|| httpContext.Request.UserAgent.ToLowerInvariant().Contains("android")
当然,如果你需要服务器端设备检测,如果在客户端进行检测,你会想在navigator.userAgent
对象中查找。。。