從網路上找到一段使用JavaScript判斷瀏覽器以及瀏覽器版本的比較好的程式碼,在此記錄一下:
<script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; //以下进行测试 if (Sys.ie) document.write('IE: ' + Sys.ie); if (Sys.firefox) document.write('Firefox: ' + Sys.firefox); if (Sys.chrome) document.write('Chrome: ' + Sys.chrome); if (Sys.opera) document.write('Opera: ' + Sys.opera); if (Sys.safari) document.write('Safari: ' + Sys.safari); </script>
將上述程式碼封裝成一個方法,方法傳回Sys對象,Sys對像中封裝了瀏覽器的類型和版本訊息,如下:
function getBrowserInfo(){ var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; var m = ua.match(re); Sys.browser = m[1].replace(/version/, "'safari"); Sys.ver = m[2]; return Sys; }
當需要取得瀏覽器的型別和版本資訊時,就可以使用getBroserInfo方法,如下:
<script type="text/javascript"> //获取当前的浏览器信息 var sys = getBrowserInfo(); //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本 document.write(sys.browser + "的版本是:" + sys.ver); </script>
完整測試程式碼如下:
<!DOCTYPE HTML> <html> <head> <title>JavaScript获取浏览器类型与版本</title> <script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; //以下进行测试 if (Sys.ie) document.write('IE: ' + Sys.ie); if (Sys.firefox) document.write('Firefox: ' + Sys.firefox); if (Sys.chrome) document.write('Chrome: ' + Sys.chrome); if (Sys.opera) document.write('Opera: ' + Sys.opera); if (Sys.safari) document.write('Safari: ' + Sys.safari); </script> <script type="text/javascript"> function getBrowserInfo(){ var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/; var m = ua.match(re); Sys.browser = m[1].replace(/version/, "'safari"); Sys.ver = m[2]; return Sys; } document.write('<hr/>'); //获取当前的浏览器信息 var sys = getBrowserInfo(); //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本 document.write(sys.browser + "的版本是:" + sys.ver); </script> </head> <body> </body> </html>
運行結果:
IE瀏覽器下測試結果:
google瀏覽器下測試結果:
火狐瀏覽器下測試結果:
以上就是關於javascript實作取得瀏覽器版本及類型的詳細程式碼,針對IE瀏覽器、火狐瀏覽器、google瀏覽器進行了測試,很成功,大家可以動手實作一下。