我想在ASP.net中检测移动设备是否是平板电脑(iPad) 我看了51degrees项目,但是免费版本没有检测平板电脑的功能 - 而且由于我们将ASP.net解决方案分发给100个客户,我们无法为所有客户购买51degrees许可证。
51degrees有免费或开源替代品吗?或者更新版本的MVC(4?)是否提供了比普通IsMobileDevice()更详细的信息?
谢谢, 康拉德
答案 0 :(得分:10)
您可以请求用户代理并检查它是否包含“ipad”,如此
bool isIpad = Request.UserAgent.ToLower().Contains("ipad");
答案 1 :(得分:4)
您无需“检测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。
答案 2 :(得分:0)
我们现在使用旧的移动设备浏览器文件: http://mdbf.codeplex.com/
并使用我们自己的浏览器文件对其进行扩展,如此解决方案中所述: http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx
现在我们甚至可以定义自己的参数来检测,例如,Internet Explorer的兼容模式,或者将iPad定义为非移动设备。
答案 3 :(得分:-1)
这是一个完整的解决方案。这是一个使用ASP.NET MVC展示响应式设计的站点;有一篇文章,教程和完整的项目下载源代码。