2010-04-16 145 views
6

我有一個現有的網站,我想創建一個更適合的移動版本。例如,主站點使用下拉菜單,我們都知道這些都是移動設備上的失敗。在ASP.NET中檢測來自移動瀏覽器的請求

如果我檢測到來自移動瀏覽器的請求,我想重定向到我的移動版本(它將成爲當前網站的子域)。所以當他們谷歌的東西,併到我的網站,他們會自動看到移動版本(就像維基百科)。

ASP.NET是否提供了一個簡單的方法來做到這一點?如果不是,我該怎麼做?

+0

@fravelgue如果你要來這裏哭關於它是一個重複,然後男人起來,並投票結束它,並指向我的副本。我沒有找到任何東西。你的噪音根本沒有幫助! – 2010-04-16 19:03:07

+0

sry mate。我認爲WURFL對你來說可能很有趣。所以mdbf有一些問題:http://mdbf.codeplex.com/Thread/View.aspx?ThreadId=209583 – fravelgue 2010-04-16 20:27:55

回答

1

有一個article on CodeProject它提供這樣的功能。

+0

嗯,這不完全是我所希望的答案。用戶代理字符串解析對我來說是最後一招。 – 2010-04-16 14:47:45

+0

這是唯一能區分移動瀏覽器請求和普通瀏覽器的請求。 – 2010-04-16 14:50:38

+0

嗯,我有一個夢想!那一天,我的四個小孩子將能夠寫'如果Request.IsMobile' – 2010-04-16 14:53:45

2

有CodePlex上的一個項目,你可以使用:Mobile Device Browser File

項目描述

手機瀏覽器定義文件 包含個人 移動設備和瀏覽器的定義。在運行 時,ASP.NET使用請求標頭中的 中的信息來確定什麼 設備/瀏覽器類型已發出 請求。

該項目提供的數據文件 與ASP.NET使用將檢測 進入移動設備,併爲您呈現 與一組67個 功能或屬性描述 請求的設備的Web開發人員時。這些 的功能範圍從屏幕尺寸到 Cookie支持,並提供所有需要的信息 爲手機和 設備提供內容。

什麼是移動設備瀏覽器定義文件?

移動設備瀏覽器定義 文件包含了個人移動設備和瀏覽器 的功能定義 。在運行時,ASP.NET使用 這個.browser文件,在HTTP請求頭 的 信息一起,來確定什麼類型的 設備/瀏覽器已經提出的要求 和 設備的能力是什麼。此信息是 通過 Request.Browser屬性向開發人員公開,並且允許他們根據目標設備的 功能定製其網頁的演示文稿 。

3

您可以在Request.Browser中的某處使用IsMobileDevice屬性。儘管你需要一些體面的瀏覽器定義。我使用這些優秀的瀏覽器定義集:Ocean's place browser definitions

他們真的很深入,也是我見過的最好的。我認爲他目前也在研究.NET4。

3

我認爲最好的解決方案是WURFL。它是更新的設備描述庫,它是免費的。唯一的不便之處是.net api是GPL。

3

保持簡單...

繼承人的JS的一樣...

希望它可以幫助別人..

var useragent = navigator.userAgent; 

var isMobile = !!useragent.match(/iPhone|Android|Blackberry|Sony|Nokia|Motorola|Samsung/i), 
    isWebBrowser = !!useragent.match(/Mozilla/i); 

// Redirect the call accordingly. 

    if(isWebBrowser && !isMobile) 
      //call to web portal 
      alert(" You seem to me... calling from Web Browser") 
    else if(isMobile) 
     //call to mobile apps 
      alert(" Call seems to be from Mobile device...") 
    else 
    { 
     // jus kiddin... 
     alert(" Unable to detect the device..... Please report to admin...") 
    } 
+0

我至少在Chrome中遇到的這種解決方案的問題是,在檢測到移動瀏覽器並將location.href設置爲移動部分後,頁面會繼續加載。它看起來很奇怪,頁面加載中途,用戶在中間轉發。如果用戶在訪問網頁之前被重定向,它會更加順暢。 – 2013-08-21 18:55:17