update: 簡易版的偵測 iphone/ipod time: 23:32 jQuery 真是一個相當方便的 javascript framework,最近在弄嵌入式系統時候需要去偵測瀏覽器 user agent,就類似下此訊息 “Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)",原本打算直接用 C 語言內建的 getenv(“HTTP_USER_AGENT”) 來做掉,不過後來想想,直接在 UI 那邊,利用 jQuery 來偵測瀏覽器版本、系統OS,這樣就解決了,上網找到有人寫了 jQuery browser and OS detection plugin,利用底下語法就可以知道一些 user agent 裡面的資料
此 plugin 利用了
JavaScript Navigator Object 來做到全部的偵測,在 Navigator Object 裡面有 userAgent, platform, appVersion 等資料可以供您使用,在搭配 indexOf 來找尋字串,瀏覽器版本用 JavaScript parseFloat() Function 來取得,這樣就大致完成,底下附上 jQuery client js 程式碼
(function() { var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;iJavascript code to detect iPhone and iPod browsers) function isiPhone(){ return ( (navigator.platform.indexOf("iPhone") != -1) || (navigator.platform.indexOf("iPod") != -1) ); } if(isiPhone()){ window.location = "mob.example.com"; }