我正在研究ASP.NET中的Web应用程序如何检测运行Windows 10的Surface Pro 3等计算机并将其路由到简单的移动Web应用程序(响应并适应移动和平板电脑)或更复杂的和丰富的桌面Web应用程序。
我可以看到许多从浏览器中读取用户代理的建议。但这给了我有限的选择。
计算机的用户代理是:
Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10240
屏幕分辨率为: 12.0英寸(30厘米)2160x1440(216 ppi)
所以这里有多个问题。
Surface Pro 3外形可兼作平板电脑和台式机。它具有高分辨率但也具有高DPI,因为屏幕非常小。因此,当人们说他们因为分辨率而选择移动时,我相信我们不能再这样做,因为我们现在拥有全高清以及移动设备。我们应该知道屏幕的物理尺寸。是否可以收集这些信息?
此处的用户代理没有提及任何有关触控功能的信息,因此浏览器与浏览器之间存在明显差异。而且,我们可以将支持触控的设备称为平板电脑吗?我不这么认为,因为我们可以有60英寸的触控设备。
那么我们如何向用户呈现复杂的应用程序或简单的应用程序?我们可以自动为这个有意义的默认选择吗?
目前,我认为最好的解决方案是在用户代理不说移动时第一次给用户一个选择。这意味着它可以是平板电脑或台式机。
任何聪明的解决方案?