浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!

IE浏览器检测的方法_浏览器指南

Internet Explorer,是微软公司推出的一款网页浏览器。原称Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7、8、9、10、11版本),简称IE。在IE7以前,中文直译为“网络探路者”,但在IE7以后官方便直接俗称IE浏览器。它采用的排版引擎(俗称内核)为Trident。每一次新的IE版本发布,也标志着Trident内核版本号的提升。

   传统一般都是采用user-agent的检测方式,它检测目标浏览器的确切型号,包括浏览器的名称和版本。其实就是一个字符串,用navigator.userAgen或navigator.appName获取。如下:

  function isIE(){

  return navigator.appName.indexOf("Microsoft Internet Explorer")!=-1 && document.all;

  }

  function isIE6() {

  return navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie 6.0")=="-1"?false:true;

  }

  function isIE7(){

  return navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie 7.0")=="-1"?false:true;

  }

  function isIE8(){

  return navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie 8.0")=="-1"?false:true;

  }

  function isNN(){

  return navigator.userAgent.indexOf("Netscape")!=-1;

  }

  function isOpera(){

  return navigator.appName.indexOf("Opera")!=-1;

  }

  function isFF(){

  return navigator.userAgent.indexOf("Firefox")!=-1;

  }

  function isChrome(){

  return navigator.userAgent.indexOf("Chrome") > -1;

  }

  目前比较流行的检测方式则是通过“对象/特征”来判断浏览器能力的方式。下面的addEvent代码就是使用了该方式。.addEventListener是w3c dom标准方式,而IE使用自己特有attachEvent。

  //添加事件工具函数

  function addEvent(el,type,handle){

  if(el.addEventListener){//for standard browses

  el.addEventListener(type,handle,false);

  }else if(el.attachEvent){//for IE

  el.attachEvent("on"+event,handle);

  }else{//other

  el["on"+type]=handle;

  }

  }

  在举几个列子:

  1、talbe.cells只有IE/Opera支持。

  2、innerText/insertAdjacentHTML除Firefox外,IE6/7/8/Safari/Chrome/Opera都支持。

  3、window.external.AddFavorite用来在IE下添加到收藏夹。

  4、window.sidebar.addPanel用来在Firefox下添加到收藏夹。

  还有一种有趣的检测方式,暂且称为“浏览器缺陷或bug”方式,即某些表现不是浏览器厂商刻意实现的。如下:

  var isIE = !+"v1";

  var isIE = !-[1,];

  var isIE = "v"=="v";

  isSafari=/a/.__proto__=='//';

  isOpera=!!window.opera;

  isIE = "v" == "v" 方式IE9已经修复该bug,不能用此方式判断IE浏览器了(2010-6-29用IE9平台预览第三版测试的)

  最经典的莫过于 !-[1,] 的判断方式,仅仅用了6 bytes判定IE浏览器,创世界最短纪录,这组代码利用了数组[1,]的length。

  IE浏览器检测代码:

  // ----------------------------------------------------------

  // A short snippet for detecting versions of IE in JavaScript

  // without resorting to user-agent sniffing

  // ----------------------------------------------------------

  // If you're not in IE (or IE version is less than 5) then:

  // ie === undefined

  // If you're in IE (>=5) then you can determine which version:

  // ie === 7; // IE7

  // Thus, to detect IE:

  // if (ie) {}

  // And to detect the version:

  // ie === 6 // IE6

  // ie > 7 // IE8, IE9 ...

  // ie < 9 // Anything less than IE9

  // ----------------------------------------------------------

  //UPDATE: Now using Live NodeList idea from @jdalton

  var ie = (function() {

  var undef,

  v = 3,

  div = document.createElement('div'),

  all = div.getElementsByTagName('i');

  while (

  div.innerHTML = '<!--[if gt IE ' + (++v) + ']><![endif]-->',

  all[0]

  );

  return v > 4 ? v : undef;

  })();

  这个代码的意图就是.通过while循环.将条件编译写入到div即页面中,然后直接取注释下的这个元素,直到取不到就退出循环。这样就获得了IE的最终版本,如果不是IE那么就是undefined。


许多人使用搜索引擎,都习惯于进入其网站后再输入关键词搜索,这样却大大降低了搜索的效率。实际上,IE支持直接从地址栏中进行快速高效地搜索,也支持通过“转到/搜索”或“编辑/查找”菜单进行搜索,您只须键入一些简单的文字或在其前面加上“go”、“find”或“?”,IE就可直接从缺省设置的9个搜索引擎中查找关键词并自动找到与您要搜索的内容最匹配的结果,同时还可列出其它类似的站点供你选择。




相关软件

2345加速浏览器官方版

2345加速浏览器官方版 | 56.2MB

2345加速浏览器官方版

新一代2345加速浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网页智能预加载技术,访问网页更快速..

QQ浏览器官方正式版

QQ浏览器官方正式版 | 49.67MB

QQ浏览器官方正式版

QQ浏览器秉承TT浏览器1-4系列方便易用的特点,但技术架构不同,交互和视觉表现也重新设计,采用Chromium内核+IE双内核,让浏览快速稳定...

百度浏览器最新版下载

百度浏览器最新版下载 | 13.3MB

百度浏览器最新版下载

q百度浏览器,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式功能...

UC浏览器官方正式版

UC浏览器官方正式版 | 44.2MB

UC浏览器官方正式版

UC浏览器(UC Browser)是UC Mobile Limited在2004年8月开发的一款软件,分uc手机浏览器和uc浏览器电脑版。UC浏览器是全球使用量最大的第三方手机浏览器...

猎豹浏览器2022最新版下载

猎豹浏览器2022下载 | 45MB

猎豹浏览器2022最新版下载

猎豹安全浏览器对Chrome的Webkit内核进行了超过100项的技术优化,访问网页速度更快。其具有首创的智能切换引擎,动态选择内核匹配不同网页...

360安全浏览器官方版下载

360安全浏览器下载 | 21.4MB

360安全浏览器官方版下载

360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问****也不会感染...