2010-01-07 68 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); 
     } 
    } 
} 
相關問題