2010-01-07 69 views

回答

4

你可以检查他们的User-Agent字符串。

+0

将用户代理填充有那些具体的“设备信息”中的问题要求? – yathirigan 2015-04-30 05:46:26

4

斯科特Hanselman的did a podcast模块设备数据库,微软made available on Codeplex上。这是一个.browser文件,您可以将它放在ASP.NET(2.0+版)网站中,这样可以帮助框架更加紧密地定义Request.Browser属性。您应该能够从那里获得大量您需要的信息。

但是,该项目不再支持,并且当您处理用户代理检测时,拥有最新资源非常重要。您应该使用类似的项目,例如51degrees.mobiWURFL

即使没有这一点,至少你可以检查Request.Browser.IsMobileDevice

+1

MDBF现在已经很老了。例如;它不包含平板电脑或4G/LTE设备。你可以试试NuGet的51Degrees.mobi(http://nuget.org/packages?q=51degrees)。这是一个零配置的单击安装。 – 2012-02-22 10:10:15

0

由于珍贵声明 - 用户代理

,你真的要问“是不是手机”?或者你真的想要别的东西吗?

这些日子里,线条正在模糊。我以99美元的价格从eBay购买了7英寸的Android平板电脑,这是一款手机吗?是一款带6英寸屏幕的迷你上网本吗?是一种类似Kidnle的设备吗?

我只是想知道为什么你想知道它是一个移动'手机屏幕尺寸?处理能力?别的东西?

您可能确实是指移动电话,但如果没有,请重新说明,我们可以进一步提供帮助。

1

您可以检查User-Agent字符串。在JavaScript中,这非常简单,它只是导航器对象的一个​​属性。

var useragent = navigator.userAgent; 

您可以检查设备,如果iPhone或黑莓在JS的东西,如

var isIphone = !!agent.match(/iPhone/i), 
    isBlackberry = !!agent.match(/blackberry/i); 

如果isIphone是真的,你是从iPhone访问该网站,如果isBlackBerry您正在访问的网站黑莓。

您可以使用“UserAgent Switcher”插件为Firefox来测试。

1

使用httpRequest.Browser.IsMobileDeviceSession_Start

void Session_Start(object sender, EventArgs e) 
{ 
    // Redirect mobile users to the mobile home page 
    HttpRequest httpRequest = HttpContext.Current.Request; 
    if (httpRequest.Browser.IsMobileDevice) 
    { 
     string path = httpRequest.Url.PathAndQuery; 
     bool isOnMobilePage = path.StartsWith("/Mobile/", 
           StringComparison.OrdinalIgnoreCase); 
     if (!isOnMobilePage) 
     { 
      string redirectTo = "~/Mobile/"; 

      HttpContext.Current.Response.Redirect(redirectTo); 
     } 
    } 
} 
相关问题