[HTTP]Request[HTTP_USER_AGENT] 筆記

[HTTP]Request[HTTP_USER_AGENT] 筆記

最好的使用者經驗即是依照不同的需求做客制化,

目前最火紅的手持裝置使用者用一般設計為 800*600 或是 1024 *768 之網頁,

一定是相當的痛苦, 所以各大網站如: FB, Yahoo 都有出 M 版的網頁,

雖然不到APP的順暢, 但總比沒有來得強.

 

所以我們遇到的第一個技術評估, 即為如何分辦來客,

答案是:解析HTTP_USER_AGENT (navigator.userAgent) 的文字內容.

 

G 大神有很多資料, 稍稍花了點時間 Memo一下

 

(1) History of the user-agent string

很有趣, 可以看到各瀏覽器HTTP_USER_AGENT的演進,

在識別上不是只告訴你我是什麼瀏覽器, 還會說我像什麼其它的瀏覽器,

真令人小惱火, 這內容為什麼不標準化, 簡直是明天的bug, 今天給你存好,

誰知道新版瀏覽器的又會改成什麼內容.

 

(2) Feature detection is not browser detection

JavaScript 的解決方案

 

(3) HttpCapabilitiesBase.IsMobileDevice Property [ IsMobileDevice ]

ASP.NET 的解決方案

 

(4) PHP: detecting mobile device

PHP的解決方案

 

(5) jQuery OS detection  , jQuery.browser API

jQuery的解決方案,

 

(6) Detecting a mobile browser in ASP.NET

除了原版外, 下面的正規表示式的解法也真是厲害. (ps. 多到爆)

 

(7) Mix: Mobile Web Sites with ASP.NET MVC and the Mobile Browser Definition File

ASP.NET MVC 用App_Browsers 來解決, 超正點.