使用ASP.net检测iPad

时间:2012-07-05 13:55:46

标签: asp.net asp.net-mvc mobile 51degrees

我想在ASP.net中检测移动设备是否是平板电脑(iPad) 我看了51degrees项目,但是免费版本没有检测平板电脑的功能 - 而且由于我们将ASP.net解决方案分发给100个客户,我们无法为所有客户购买51degrees许可证。

51degrees有免费或开源替代品吗?或者更新版本的MVC(4?)是否提供了比普通IsMobileDevice()更详细的信息?

谢谢, 康拉德

4 个答案:

答案 0 :(得分:10)

您可以请求用户代理并检查它是否包含“ipad”,如此

bool isIpad = Request.UserAgent.ToLower().Contains("ipad");

答案 1 :(得分:4)

您无需“检测iPad”。只需使用媒体查询为iPad提供支持,因为iPad附带的Safari浏览器已经了解CSS3:

CSS3 Media Queries

/* 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。

HTML5 Boilerplate

20 Snippets You should be using from Html5 Boilerplate

答案 2 :(得分:0)

我们现在使用旧的移动设备浏览器文件: http://mdbf.codeplex.com/

并使用我们自己的浏览器文件对其进行扩展,如此解决方案中所述: http://www.hanselman.com/blog/MixMobileWebSitesWithASPNETMVCAndTheMobileBrowserDefinitionFile.aspx

现在我们甚至可以定义自己的参数来检测,例如,Internet Explorer的兼容模式,或者将iPad定义为非移动设备。

答案 3 :(得分:-1)

这是一个完整的解决方案。这是一个使用ASP.NET MVC展示响应式设计的站点;有一篇文章,教程和完整的项目下载源代码。

http://edcharbeneau.github.com/FoundationSinglePageRWD/