我有samsung galaxy s2,在C#代码中显示Request.Browser.IsMobileDevice = false,但我想为我的应用程序使用移动版本。如何有能力显示我的网站的移动版本,Android设备?Android的Request.Browser.IsMobileDevice = false,为什么?
非常感谢。
谢尔盖。
我有samsung galaxy s2,在C#代码中显示Request.Browser.IsMobileDevice = false,但我想为我的应用程序使用移动版本。如何有能力显示我的网站的移动版本,Android设备?Android的Request.Browser.IsMobileDevice = false,为什么?
非常感谢。
谢尔盖。
您可以检查User-Agent
HTTP标头。
user-agent是一个标识符(通常)包含浏览器名称和版本,以及运行浏览器的平台或操作系统的名称和版本。目前的标准是将这个分割成空间分隔的元素,但实际上User-Agent
字段可以设置为任何东西。
例子:
Mozilla/5.0 Windows NT 6.1 WOW64 rv 8.0 Gecko/20100101 Firefox/8.0
这表明,我运行Firefox 8.0的Windows NT的64位版本(使用Mozilla的渲染器V5.0和Gecko排版引擎发布2010/01/01) 6.1版(这是Windows 7)。
你可以从这里获取有关用户代理字符串的详细信息:http://www.useragentstring.com/
非常感谢!你救了我的一天:) – Sergey
很高兴能有所帮助。你还应该对dknaack的链接有一个很好的阅读,他发布了这个链接,作为对你的问题的评论。 – Polynomial
看起来很有趣...非常感谢你,再次 – Sergey
检查设备是否是Android设备很有用。
有一个与代码后: http://dbarrowstechblog.blogspot.hk/2011/02/requestbrowserismobiledevice.html
这并不理想,因为它会将Android平板电脑检测为移动设备(并且您通常不希望平板电脑能够看到移动版)。当用户代理字符串是平板电脑时,它们似乎经常包含“平板电脑”,因此检查这些字符串也会对它们进行补救。 –
您可以创建在App_Browsers文件一个文件,一个正则表达式来识别浏览器,下面一个为Firefox Android中:
<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>
请仔细阅读http://stackoverflow.com/questions/1829089/how-does-ismobiledevice-work。 – dknaack
只需使用Nuget添加51degrees – Shahdat