[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 來解決, 超正點.