js识别不同浏览器

   检测浏览器,注意浏览器判断顺序,主要是基于userAgent做判断。

  //检测浏览器

  var client = function(){

  var engine = {

  ie:0,

  gecko:0,

  webkit:0,

  khtml:0,

  opera:0,

  ver:null

  };

  var browser = {

  //浏览器

  ie: 0,

  firefox: 0,

  safari: 0,

  konq: 0,

  opera: 0,

  chrome: 0,

  ver:null

  };

  var ua = navigator.userAgent;

  //浏览器检测有顺序

  if(window.opera){//opera伪装,所以优先检测

  engine.ver = browser.ver = window.opera.version();

  engine.opera = browser.opera = parseFloat(engine.ver);

  } else if(/AppleWebKit/(S+)/.test(ua)){

  engine.ver = RegExp["$1"];

  engine.webkit = parseFloat(engine.ver);

  //确定是 Chrome 还是 Safari

  if (/Chrome/(S+)/.test(ua)){

  browser.ver = RegExp["$1"];

  browser.chrome = parseFloat(browser.ver);

  } else if (/Version/(S+)/.test(ua)){

  browser.ver = RegExp["$1"];

  browser.safari = parseFloat(browser.ver);

  } else {

  //近似地确定版本号

  var safariVersion = 1;

  if (engine.webkit < 100){

  safariVersion = 1;

  } else if (engine.webkit < 312){

  safariVersion = 1.2;

  } else if (engine.webkit < 412){

  safariVersion = 1.3;

  } else {

  safariVersion = 2;

  }

  browser.safari = browser.ver = safariVersion;

  }

  }else if (/KHTML/(S+)/.test(ua) || /Konqueror/([^;]+)/.test(ua)){

  engine.ver = browser.ver = RegExp["$1"];

  engine.khtml = browser.konq = parseFloat(engine.ver);

  }else if (/rv:([^)]+)) Gecko/d{8}/.test(ua)){

  engine.ver = RegExp["$1"];

  engine.gecko = parseFloat(engine.ver);

  //确定是不是 Firefox

  if (/Firefox/(S+)/.test(ua)){

  browser.ver = RegExp["$1"];

  browser.firefox = parseFloat(browser.ver);

  }

  }else if (/MSIE ([^;]+)/.test(ua)){

  engine.ver = browser.ver = RegExp["$1"];

  engine.ie = browser.ie = parseFloat(engine.ver);

  }

  return {

  engine:engine,

  browser: browser

  };

  }();

  //调用

  if (client.engine.webkit) { //if it’s WebKit

  if (client.browser.chrome){

  //执行针对 Chrome 的代码

  } else if (client.browser.safari){

  //执行针对 Safari 的代码

  }

  } else if (client.engine.gecko){

  if (client.browser.firefox){

  //执行针对 Firefox 的代码

  } else {

  //执行针对其他 Gecko 浏览器的代码

  }

  }

时间: 2024-09-18 22:44:46

js识别不同浏览器的相关文章

js识别uc浏览器的代码_javascript技巧

其实挺简单的就是 if(navigator.userAgent.indexOf('UCBrowser') > -1) { alert("uc浏览器"); }else{ //不是uc浏览器执行的操作 } 如果想测试某个浏览器的特征可以通过如下方法获取 JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持:navigator.javaEn

js识别不同浏览器基于userAgent做判断_javascript技巧

检测浏览器,注意浏览器判断顺序,主要是基于userAgent做判断. //检测浏览器 var client = function(){ var engine = { ie:0, gecko:0, webkit:0, khtml:0, opera:0, ver:null }; var browser = { //浏览器 ie: 0, firefox: 0, safari: 0, konq: 0, opera: 0, chrome: 0, ver:null }; var ua = navigator

用JS识别各版本浏览器

比如IE10-的版本是依循常规只支持attachEvent而不支持addEventListener,但到了IE11,却反过来只支持 addEventListener而不支持attachEvent.光是这一点就可以判断IE是个大坑,IE11的存在可能会导致之前你写过的代码出现错 乱.另如原本可用 var ieVersion = eval("""+/*@cc_on"+" @_jscript_version@*/-0")*1 的嗅探脚本来判断是否IE,

JS识别浏览器类型(电脑浏览器和手机浏览器)_javascript技巧

废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" Content="text/html;charset=UTF-8"/> <title>识别电脑浏览器和手机浏览器</title> </head> <script type="text/java

SVG/VML+JS实现跨浏览器的矢量图形实现方案

文章简介:SVG/VML+JS实现跨浏览器的矢量图形实现方案. Raphael JS库是在webrebuild交流会上听专家将到的,后来就看了下,果然很强大--通过SVG/VML+JS实现跨浏览器的矢量图形实现方案. 这其实和cufon等网络字体的实现原理是有些类似的:非IE浏览器使用SVG绘图,然后IE中使用VML.它的目的是想要提供一种简单易用的真正跨浏览器的矢量图形实现方案,包括一些动画效果. Raphael的语法也很简单,基本上了解SVG就会很容易上手的: var c = paper.p

JS获取屏幕,浏览器窗口大小,网页高度宽度

 本篇文章主要介绍了JS获取屏幕,浏览器窗口大小,网页高度宽度的实现代码.需要的朋友可以过来参考下,希望对大家有所帮助 网页可见区域宽:document.body.clientWidth  网页可见区域高:document.body.clientHeight  网页可见区域宽:document.body.offsetWidth (包括边线的宽)  网页可见区域高:document.body.offsetHeight (包括边线的宽)  网页正文全文宽:document.body.scrollWi

JS获取各种浏览器窗口大小的方法

 本篇文章主要是对JS 获取各种浏览器窗口大小的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 常用: JS 获取浏览器窗口大小   代码如下: // 获取窗口宽度  if (window.innerWidth)  winWidth = window.innerWidth;  else if ((document.body) && (document.body.clientWidth))  winWidth = document.body.clientWidth;  // 获

js里各浏览器解析XML,支持IE、火狐、Chrome等

js在chrome中加载XML,js加载XML支持ff,IE6+,Opera等浏览器   见代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js里各浏览器解析XML,支持IE.火狐.Chrome等</title> </head> <body> <script>

ie浏览器-JS检测IE浏览器的版本

问题描述 JS检测IE浏览器的版本 用JS检测IE浏览器的版本,非IE8弹出遮罩层(隐藏层),是IE8则不弹出,有大神能指导一下么 解决方案 var IeMsg="请使用ie8或ie9浏览器"; var flag = true; if(navigator.userAgent.indexOf("MSIE")>0) { if(navigator.userAgent.indexOf("MSIE 6.0")>0) { flag = false