我想在 ASP.net 中检测移动设备是否是平板电脑 (iPad) 我查看了 51degrees 项目,但免费版本中没有检测平板电脑的功能 - 因为我们分发了我们的 ASP。 net 解决方案为 100 位客户,我们不能为所有客户购买 51 度许可证。
51degrees 是否有任何免费或开源的替代方案可用?或者较新版本的 MVC(4?)会比普通的 IsMobileDevice() 提供更多详细信息吗?
谢谢,康拉德
我想在 ASP.net 中检测移动设备是否是平板电脑 (iPad) 我查看了 51degrees 项目,但免费版本中没有检测平板电脑的功能 - 因为我们分发了我们的 ASP。 net 解决方案为 100 位客户,我们不能为所有客户购买 51 度许可证。
51degrees 是否有任何免费或开源的替代方案可用?或者较新版本的 MVC(4?)会比普通的 IsMobileDevice() 提供更多详细信息吗?
谢谢,康拉德
您可以请求用户代理并检查它是否包含像这样的“ipad”
bool isIpad = Request.UserAgent.ToLower().Contains("ipad");
您不需要“检测 iPad”。只需使用媒体查询来支持 iPad,因为 iPad 附带的 Safari 浏览器已经理解 CSS3:
/* iPads (landscape) */
@media screen and (min-device-width : 768px)
and (max-device-width : 1024px) and (orientation : landscape) {
...
}
/* iPads (portrait) */
@media screen and (min-device-width : 768px) and (max-device-width : 1024px)
and (orientation : portrait) {
...
}
您最好的选择是使用 HTML5Boilerplate,因为它还为 iPad 修复了一些其他问题。使用 Modernizr 进行特征检测;它带有 HTML5Boilerplate。
我们现在使用旧的移动设备浏览器文件: http: //mdbf.codeplex.com/
并使用我们自己的浏览器文件对其进行扩展,如本解决方案中所述: http ://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
现在我们甚至可以定义自己的参数来检测,例如,Internet Explorer 的兼容模式或将 iPad 定义为非移动设备。
这是为您提供的整体解决方案。这是一个使用 ASP.NET MVC 展示响应式设计的网站;有一篇文章,教程和完整的项目下载源代码。