首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用51degrees.mobi检测触摸屏移动设备?

如何使用51degrees.mobi检测触摸屏移动设备?
EN

Stack Overflow用户
提问于 2011-12-22 08:24:57
回答 2查看 2.5K关注 0票数 2

我使用Scott的MobileViewEngines 请在此描述51Degrees.mobi浏览器数据库为移动浏览器和桌面浏览器提供不同的视图。

我现在想补充一个中间立场。适用于高端移动浏览器(苹果、安卓、windows手机、黑莓等)。我正在考虑使用触摸屏来区分这个类别。

因此,有两个问题:

  1. 如何使用51Degrees.mobi检测触摸屏?
  2. 触摸输入是一种很好的方式吗?(我需要桌面,高端,低端类)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 11:22:52

我在51Degrees.mobi工作。您可以使用Request.Browser["IsTouchScreen"]检测设备是否为触摸屏。

然而,在MVC中优雅地使用这一点需要更多的关注。从MobileCapableViewEngine的来源来看,似乎可以通过复制移动引擎和更改FindView方法来创建一个新引擎:

代码语言:javascript
复制
public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName,
                                              string masterName, bool useCache)
    {
        string overrideViewName = controllerContext.HttpContext.Request.Browser["IsTouchScreen"] == "True"
                                      ? viewName + ".Touch"
                                      : viewName;
        ViewEngineResult result = NewFindView(controllerContext, overrideViewName, masterName, useCache);

        // If we're looking for a Touch view and couldn't find it try again without modifying the viewname
        if (overrideViewName.Contains(".Touch") && (result == null || result.View == null))
        {
            result = NewFindView(controllerContext, viewName, masterName, useCache);
        }
        return result;
    }

这个新的引擎将需要添加到移动引擎,启动,机顶盒和创建触摸视图。

但是,在进行此操作之前,您应该考虑一下这是否是您想要分离设备的方式。例如,NokiaX3-02有一个相对较小的屏幕,但显示的视图与iPad类似。也许你应该考虑使用设备的操作系统( Request.Browser["PlatformName"] )

最后,51Degrees.mobi基金会版本2介绍了我们自己的设备数据,这些数据使用了与前一个版本不同的功能名称。你可以在51Degrees.mobi上读到mroe。

票数 2
EN

Stack Overflow用户

发布于 2011-12-22 09:09:31

大多数触摸检测都是用Javascript完成的。或者是CSS。

现代派是一个很好的使用库,我认为它默认是与MVC3一起提供的。

你会是这样的:

代码语言:javascript
复制
html.touch div {
    width: 480px;
}

html.no-touch div {
    width: auto;
}

有关检测示例,请参见

也许你也可以看看MVC4?他们的主要观点之一是更好的移动支持。在这里读。在默认情况下,这可能为良好的触觉检测添加了一些内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8601129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档