首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于手机的WURFL

用于手机的WURFL
EN

Stack Overflow用户
提问于 2014-11-11 14:49:20
回答 1查看 85关注 0票数 0

我在ASP.NET MVC的Global.asax的Application_Start事件中使用了下面的代码。用于手机检测的WURFL。下面的代码适用于桌面和ipads的限制,但不适用于大于10英寸的三星Galaxy Tab。

代码语言:javascript
复制
     DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode()
     {
     ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("tablet",  StringComparison.OrdinalIgnoreCase) >= 0
 || context.GetOverriddenUserAgent().IndexOf("ipad", StringComparison.OrdinalIgnoreCase) >= 0)
     });
EN

回答 1

Stack Overflow用户

发布于 2014-11-14 10:53:11

如果您想查看所有平板电脑,可以通过以下方式查询WURFL

代码语言:javascript
复制
public class Global : HttpApplication
{
    public const String WurflDataFilePath = "~/App_Data/wurfl.zip";
    private void Application_Start(Object sender, EventArgs e)
    {
        var wurflDataFile = HttpContext.Current.Server.MapPath(WurflDataFilePath);
        var wurflPatchFile = HttpContext.Current.Server.MapPath(WurflPatchFilePath);
        var configurer = new InMemoryConfigurer()
                 .MainFile(wurflDataFile)
        var manager = WURFLManagerBuilder.Build(configurer);
        HttpContext.Current.Cache[WurflManagerCacheKey] = manager;
    }
}

var device = WURFLManagerBuilder.Instance.GetDeviceForRequest(userAgent);
var is_tablet = device.GetCapability("is_tablet");

if (is_tablet == true) {
    // Show tablet site
} else {
    // Show desktop site
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26859187

复制
相关文章

相似问题

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