雖然已經是老生常談了,但是還是要提醒一下看官們,除非是要做一個統計分析的系統,否則盡量避免用 JavaScript 偵測瀏覽器的版本,詳情可參考 ppk 的 Object detection 一文。此外 jQuery 在 v1.3 之後也宣佈將把 $.browser 的功能給廢除,改用特性偵測的方式來取代,由此可知,特性偵測將會是未來要寫相容性語法時的主要方向。
話雖如此,偶爾還是需要去偵測瀏覽器版本,特別是底下這段程式碼不秀一下真是太可惜了,一行程式碼可以偵測出目前主流的幾個瀏覽器版本:
B=(function x(){})[-5]=='x'?'FF3':(function x(){})[-6]=='x'?'FF2':/a/[-1]=='a'?'FF':'\v'=='v'?'IE':/a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':/^function \(/.test([].sort)?'Op':'Unknown'
以上這段是節錄自 Ajaxian 的 IE='\v'=='v' 一文,截至目前為止 IE='\v'=='v' 是能判斷出 IE 的最短程式碼。評論裡面還可以找到一些有趣的簡短程式碼,有興趣的人可以去看看喔~ |