我刚刚开始创建我的第一个手机版的桌面网站,它是用WebForms编写的。
我目前的问题与移动设备/浏览器检测有关。
我想要确定的是a)如果您的设备是移动的b)什么操作系统(Android / IOS / etc),以防我需要根据操作系统处理任何不同的c)什么屏幕大小(加载不同的样式表)
解决方法
通过查看用户名字符串来检测浏览器的类型是最简单的。该字符串中的关键词将有助于检测浏览器。
UserAgentString.com维护一个透彻的用户名字符串列表,但您需要查找的主要内容只是几个关键字。
例如,从Blackberry设备浏览时,“黑莓”一词才会出现。与iPad和iPhone类似。 Android设备在用户名字符串中都显示“android”,但是通过在手机中添加关键字“mobile”来区分平板电脑和手机。
以下是我们在移动应用中检测桌面,手机和平板电脑的方法:
public enum DeviceType { Desktop,Tablet,Phone } public static DeviceType UserAgentToDeviceType(string userAgent) { if (userAgent.ToLowerInvariant().Contains("blackberry")) return DeviceType.Phone; if (userAgent.ToLowerInvariant().Contains("iphone")) return DeviceType.Phone; if (userAgent.ToLowerInvariant().Contains("ipad")) return DeviceType.Tablet; if (userAgent.ToLowerInvariant().Contains("android")) { if (userAgent.ToLowerInvariant().Contains("mobile")) return DeviceType.Phone; else return DeviceType.Tablet; } return DeviceType.Desktop; }
如果您正在使用像jQuery Mobile这样的内容,那么该站点将针对移动外观进行自定义,无论设备类型如何,它将处理不同设备上的JavaScript引擎之间的差异。