使用javascript實(shí)現(xiàn)判斷當(dāng)前瀏覽器
寫了一個(gè)判斷當(dāng)前瀏覽器類型及版本的方法,只在IE 8/11 、谷歌 、360 瀏覽器(不完全)上測試過
希望大家提出意見
;(function($, window, document,undefined){ if(!window.browser){ var userAgent = navigator.userAgent.toLowerCase(),uaMatch; window.browser = {} /** * 判斷是否為ie */ function isIE(){ return ("ActiveXObject" in window); } /** * 判斷是否為谷歌瀏覽器 */ if(!uaMatch){ uaMatch = userAgent.match(/chrome\/([\d.]+)/); if(uaMatch!=null){ window.browser['name'] = 'chrome'; window.browser['version'] = uaMatch[1]; } } /** * 判斷是否為火狐瀏覽器 */ if(!uaMatch){ uaMatch = userAgent.match(/firefox\/([\d.]+)/); if(uaMatch!=null){ window.browser['name'] = 'firefox'; window.browser['version'] = uaMatch[1]; } } /** * 判斷是否為opera瀏覽器 */ if(!uaMatch){ uaMatch = userAgent.match(/opera.([\d.]+)/); if(uaMatch!=null){ window.browser['name'] = 'opera'; window.browser['version'] = uaMatch[1]; } } /** * 判斷是否為Safari瀏覽器 */ if(!uaMatch){ uaMatch = userAgent.match(/safari\/([\d.]+)/); if(uaMatch!=null){ window.browser['name'] = 'safari'; window.browser['version'] = uaMatch[1]; } } /** * 最后判斷是否為IE */ if(!uaMatch){ if(userAgent.match(/msie ([\d.]+)/)!=null){ uaMatch = userAgent.match(/msie ([\d.]+)/); window.browser['name'] = 'ie'; window.browser['version'] = uaMatch[1]; }else{ /** * IE10 */ if(isIE() && !!document.attachEvent && (function(){"use strict";return !this;}())){ window.browser['name'] = 'ie'; window.browser['version'] = '10'; } /** * IE11 */ if(isIE() && !document.attachEvent){ window.browser['name'] = 'ie'; window.browser['version'] = '11'; } } } /** * 注冊判斷方法 */ if(!$.isIE){ $.extend({ isIE:function(){ return (window.browser.name == 'ie'); } }); } if(!$.isChrome){ $.extend({ isChrome:function(){ return (window.browser.name == 'chrome'); } }); } if(!$.isFirefox){ $.extend({ isFirefox:function(){ return (window.browser.name == 'firefox'); } }); } if(!$.isOpera){ $.extend({ isOpera:function(){ return (window.browser.name == 'opera'); } }); } if(!$.isSafari){ $.extend({ isSafari:function(){ return (window.browser.name == 'safari'); } }); } } })(jQuery, window, document);
//使用方式
console.log(window.browser); console.log($.isIE()); console.log($.isChrome());
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
Javascript Cookie讀寫刪除操作的函數(shù)
Javascript Cookie讀寫刪除操作的函數(shù)代碼,需要操作cookies的朋友可以參考下。2010-03-03js實(shí)現(xiàn)單層數(shù)組轉(zhuǎn)多層樹
這篇文章主要介紹了js實(shí)現(xiàn)單層數(shù)組轉(zhuǎn)多層樹方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Electron應(yīng)用顯示隱藏時(shí)展示動(dòng)畫效果實(shí)例
最近使用electron實(shí)現(xiàn)一個(gè)簡單的功能,下面這篇文章主要給大家介紹了關(guān)于Electron應(yīng)用顯示隱藏時(shí)展示動(dòng)畫效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05淺談TypeScript3.7中值得注意的3個(gè)新特性
這篇文章主要介紹了TypeScript3.7中值得注意的3個(gè)新特性,對TS感興趣的同學(xué),可以參考下2021-05-05Google的跟蹤代碼 動(dòng)態(tài)加載js代碼方法應(yīng)用
Google的跟蹤代碼 動(dòng)態(tài)加載js代碼,需要的朋友可以參考下2012-11-11調(diào)試代碼導(dǎo)致IE出錯(cuò)的避免方法
這篇文章主要介紹了避免調(diào)試代碼導(dǎo)致IE出錯(cuò)的方法,需要的朋友可以參考下2014-04-04