首页
Javascript
Html
Css
Node.js
Electron
移动开发
工具类
服务端
浏览器相关
前端收藏
其他
关于

javascript检测IE6/7/8,chrome,safari,firefox,opera等主流浏览器类型

2012年11月27日 发布 阅读(302) 作者:懒炖

利用javascript检测浏览器的类别,网上也会有很多的代码,这里总结写了一下,主要检测主流的五款浏览器(IE,Chrome,Opera,Safari,Firefox)的类别,IE可以检测到IE6-IE9的本种版本,IE10没有检测过。

IE9浏览器比较特别,按F12进入控制台中,可以切换到IE7或IE8,用navigator.userAgent来判断检测不出用的是哪个核心,全部提示IE7,这里也作了下兼容处理。

代码如下:

  1. Utils.broswer = function(){
  2. //检测浏览器
  3. var iUserAgent = navigator.userAgent;
  4. var iAppVersion = parseFloat(navigator.appVersion);
  5. var isOpera = iUserAgent.indexOf("Opera") > -1;
  6. var isKHTML = iUserAgent.indexOf("KHTML") > -1 || iUserAgent.indexOf("Konqueror") > -1 || iUserAgent.indexOf("AppleWebKit") > -1;
  7. if(isKHTML){
  8. var isChrome = iUserAgent.indexOf("Chrome") > -1;
  9. var isSafari = iUserAgent.indexOf("AppleWebKit") > -1 && !isChrome;
  10. var isKonq = iUserAgent.indexOf("Konqueror") > -1;
  11. }
  12. var isIE = iUserAgent.indexOf("compatible") > -1 && iUserAgent.indexOf("MSIE") > -1 && !isOpera;
  13. var isMoz = iUserAgent.indexOf("Gecko") > -1 && !isKHTML;
  14. var isNS4 = !isOpera && !isMoz && !isKHTML && !isIE && (iUserAgent.indexOf("Mozilla") ==0) && (navigator.appName == "Netscape") && (fAppVersion >=4.0 && fAppVersion <= 5.0);
  15. //此处为检测平台
  16. var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");
  17. var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh");
  18. var isUnix = (navigator.platform == "X11") && !isWin && !isMac;
  19. if(isOpera){
  20. return "opera";
  21. } else if(isChrome) {
  22. return "chrome";
  23. } else if(isSafari){
  24. return "safari";
  25. } else if(isKonq){
  26. return "konq";
  27. } else if(isIE){
  28. //此处没用userAgent来检测,主要是考虑IE9浏览器按F12可以切换到IE7,IE8;用userAgent会检测不出来
  29. if (parseInt($.browser.version, 10) <= 6) {
  30. return "IE6";
  31. } else if (document.all && !document.querySelector) {
  32. return "IE7";
  33. } else if (document.all && document.querySelector && !document.addEventListener) {
  34. return "IE8";
  35. } else {
  36. return "IE9+";
  37. }
  38. } else if(isMoz){
  39. return "mozilla";
  40. } else if(isNS4){
  41. return "ns4";
  42. }
  43. }

调用很简单:

var 一个变量 browser = Utils.browser(); 根据返回值来判断浏览器类型就OK了

版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处

评论

  •