我刚开始创建我的第一个用WebForms编写的桌面网站的移动版本。.NET中的移动浏览器设备检测
我目前的问题与移动设备/浏览器检测有关。
我想确定的是a)如果你的设备是移动的b)什么操作系统(Android/IOS /等),如果我需要根据操作系统处理不同的东西c)屏幕尺寸是多少加载不同的样式表)
我刚开始创建我的第一个用WebForms编写的桌面网站的移动版本。.NET中的移动浏览器设备检测
我目前的问题与移动设备/浏览器检测有关。
我想确定的是a)如果你的设备是移动的b)什么操作系统(Android/IOS /等),如果我需要根据操作系统处理不同的东西c)屏幕尺寸是多少加载不同的样式表)
我不一定认为我提出的是在许多情况下最好的解决方案,但它可能证明您对问题领域的另一种洞察。
而不是检测移动浏览器本身,它有一些浏览器嗅探的相似/缺点。
而是采取响应式设计的方法。我不会在这里详细讨论响应式设计,因为它会带我们脱离轨道。然而,它可以为您提供的是一种方法,它不是根据检测到的浏览器自定义整个体验,而是根据屏幕分辨率,css功能,启用JavaScript等自定义体验的一种更为细微的方法。
响应式设计并非是一种技术性的说法,而是一系列技术,使得体验能够根据所使用的浏览器(移动浏览器)逐步增强。
什么样的响应技术并不真正允许(或者至少它被损害)是例如手机版/桌面版。由于每个人通常会污染单独的经历,例如html可以隐藏在移动版本中,但仍可以在后台下载......但是这些技术正在发展,例如, JavaScript可用于在移动浏览器上下载低分辨率图像,在宽屏幕显示器上下载高分辨率图像。
但是,您始终可以链接到完全独立的移动版本/桌面版本的网站,以允许用户决定是否退款。
语法纳兹在这里,它是“本身”,拉丁语为“本身”http://en.wikipedia.org/wiki/Per_se –
谢谢,刚刚编辑和纠正我的一些可怕的拼写!我一定很仓促。 –
通过查看useragent
字符串来检测浏览器的类型是最简单的。该字符串中的关键词将有助于检测浏览器。 UserAgentString.com保留了useragent字符串的完整列表,但您需要查找的主要内容只有几个关键字。
例如,单词“黑莓”只会在从黑莓设备浏览时出现。与iPad和iPhone类似。 Android设备都在useragent字符串中显示“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引擎之间的差异。
WURFL是一个很好的资源。你可以配置你需要的值(不需要全部参数)。我认为,如果你想创建自己的解决方案 -
1)您可以将WURFL XML 2)入围参数按您的需求 3)使用XML阅读器阅读它的XML,并把价值在你的数据库。
这样你就可以拥有自己的解决方案。 (尽管有一个问题,那就是后来在WURFL上注册的新设备将不会自动更新,因此您必须稍后自行更新它)
没有答案?我有同样的问题......您作为解决方案解决了什么问题? –
看看这个问题/答案:http://stackoverflow.com/questions/9587111/mobile-site-detection-server-side-vs-client-side – avs099
使用'手机检测'移动检测库 http:///www.handsetdetection.com
您可以通过访问以下链接获取'.NET手机检测API套件:
http://code.google.com/p/handset-detection-asp-net-api-kit/
–