加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 3简单可靠的移动设备检测:使用51de

发布时间:2020-12-16 03:45:44 所属栏目:asp.Net 来源:网络整理
导读:在我的ASP.NET MVC 3 Web应用程序中,我将覆盖自定义视图引擎中的视图名称,以呈现针对非平板电脑移动设备优化的不同视图. 我想要执行此视图覆盖的所有内容都是Request.Browser.IsMobileDevice的准确值和设备的本机显示宽度. 对于这个简单的用例,51degrees.mob
在我的ASP.NET MVC 3 Web应用程序中,我将覆盖自定义视图引擎中的视图名称,以呈现针对非平板电脑移动设备优化的不同视图.

我想要执行此视图覆盖的所有内容都是Request.Browser.IsMobileDevice的准确值和设备的本机显示宽度.

对于这个简单的用例,51degrees.mobi感觉非常沉重和复杂.也许这只是我试图浏览51degrees网站上的所有示例和文档以获得简单实现的简单问题的答案.

如果没有51degrees,我会获得Request.Browser.IsMobileDevice和Request.Browser.ScreenPixelsWidth的值.我注意到对于桌面浏览器,宽度始终为640,而Request.Browser.Capabilities [“51Degrees.mobi”]包含ScreenPixelsWidth的值“Unknown”.鉴于实现的服务器端性质,我想未知值更准确.

我的主要问题是:对于我的简单要求,我真的需要51度吗?

如果我不使用51degrees,是否有一些特定的浏览器示例,我将无法正确检测IsMobileDevice和屏幕宽度?例如,内置的.NET Request.Browser.IsMobile和ScreenPixelsWidth值是否会在新iPad出现时或最新的Android浏览器版本时不准确或不存在?我的网站获得了大约65%的移动用户,其中许多是使用UP.Browser等浏览器的蹩脚功能手机,所以获得正确的移动设备有点重要.

如果我使用51degrees,我是否需要始终深入查看Request.Browser.Capabilities [“51Degrees.mobi”]?或者51degrees是否覆盖/更新Request.Browser.IsMobileDevice的值以与浏览器的评估同步?显然它不会覆盖Request.Browser.ScreenPixelsWidth.

我愿意回答“你做错了,这是一种更好的方式”,只要他们不建议使用MVC 4或涉及WURFL这样的付费解决方案.

解决方法

这个 FAQ解释了51.Degrees.mobi覆盖了Request.Browser的哪些属性.

在极少数情况下,您应该直接访问“51Degrees.mobi”键.如果财产被覆盖,请像往常一样访问它.如果属性未被覆盖或未被HttpBrowserCapabilities覆盖,则应使用属性名称.例如:

var isTablet = Request.Browser [“IsTablet”];

有关可用属性的列表,请参阅此link.

因为它应该覆盖ScreenPixelsWidth,我有兴趣了解有关您的测试环境的更多信息.由于.NET要求值为数字,如果51Degrees.mobi无法确定大小(未知),则不会覆盖该值.

感谢您考虑51Degrees.mobi.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读