7

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

51degrees 是否有任何免费或开源的替代方案可用?或者较新版本的 MVC(4?)会比普通的 IsMobileDevice() 提供更多详细信息吗?

谢谢,康拉德

4

4 回答 4

10

您可以请求用户代理并检查它是否包含像这样的“ipad”

bool isIpad = Request.UserAgent.ToLower().Contains("ipad");
于 2012-07-05T14:43:21.053 回答
4

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

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。

HTML5 样板

您应该使用的 20 个片段来自 Html5 样板

于 2012-07-05T13:57:57.440 回答
0

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

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

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

于 2012-07-19T08:08:40.243 回答
-2

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

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

于 2012-07-05T17:50:35.343 回答