2011-09-06 72 views
2

我正在編寫一個C#應用程序,我需要在其中檢索用戶瀏覽器類型。來自請求對象的瀏覽器類型值不一致

我從Request對象中獲得了上述內容,具體來自:Request.Browser.Type,它是System.Web.HttpBrowserCapabilitiesBase的成員。

我從這得到的結果是不一致的。大多數時候它是正確的返回用戶瀏覽器,例如IE7等,但奇怪的時候它返回值「桌面」。我不明白爲什麼會這樣返回,因爲用戶通過網絡瀏覽器訪問網站顯然不正確。

任何人都知道爲什麼這是返回,我怎麼可能「修復」它或使用其他方式持續獲得用戶瀏覽器類型?

+1

在什麼情況下它返回「桌面」 –

+0

這是不一致的。沒有特定的情況返回,因爲這與返回正確的瀏覽器相反。 – amateur

+0

當你說這是不一致的,你的意思是你已經測試過,並且同一臺機器上的相同瀏覽器有時會返回「桌面」,有時不會或者你的意思是你一直無法發現這個模式 –

回答

1

ASP.Net在其數據庫中沒有Chrome信息,所以它不能自動檢測它,除非說到桌面...這實際上表明它是臺式計算機瀏覽器不是移動瀏覽器。你可以使用Request.browser.browsers等等,你將得到最好的結果是AppleSafari

但是,有很多替代品存在很久以來,並且對很多人都有效。

這裏是替代的鏈接,它應該使你能夠檢測鉻。

http://weblogs.asp.net/ricardoperes/archive/2009/09/22/detecting-chrome-browser-in-asp-net.aspx