js快速判断IE浏览器推荐阅读(兼容IE10和IE11)
判断IE浏览器是否使用window.navigator.userAgent跟踪此信息,发现在开发环境中,标识为IE10,但访问服务器标识为IE11,但IE11的userAgent中没有MSIE标志,就是这个原因。
将判断IE浏览器的方法改为如下。
函数isIE() { //ie?if(!窗户。窗口中的ActiveXObject || 'ActiveXObject ')返回true否则返回false}这里有一些分享,大家可以看看,非常实用的分析和解释。
在很多情况下,我们通常使用navigator.userAgent和正则表达式来判断IE浏览器的版本。下面介绍如何通过IE浏览器的不同特性来判断IE浏览器。
1判断IE浏览器和非IE浏览器。
IE浏览器和非IE浏览器的区别在于IE浏览器支持ActiveXObject,而非IE浏览器不支持ActiveXObject。在IE11浏览器出现之前,我们判断IE和非IE经常这样写。
函数isIe(){返回窗口。ActiveXObject?真:假;}但是在IE11中,上面的判断返回false,我自己在IE11中测试了下面的代码。
复制代码如下: alert(window . ActiveX object);警报(窗口类型。ActiveX object);
结果是
这是为什么?明明有ActiveXObject存在,怎么可能真的不定义typeof的结果?谁知道结果,告诉我为什么?为什么呢?
微软官网讲述了IE11的ActiveXObject的区别。http://msdn . Microsoft.com/en-us/library/ie/dn 423948(v=vs . 85)。aspx .它没有解释类型的原因。如果我们用下面的代码检测一下,就可以了。
在ie11下,警报(“窗口中的ActiveX object”)//返回false。
这是因为我不明白窗口中的“活动对象”返回真。为什么我之前在IE11判断IE浏览器的代码返回false?再问大牛一个解释。感谢您给出了下面直接判断IE和非IE浏览器兼容IE11的方法。
函数isIe(){ return('窗口中的ActiveX object ');}注意我们的程序代码不应该覆盖ActiveXObject的前提,任何程序都不应该这样做。哈哈。
2判断IE6浏览器。
从IE7开始,IE支持XMLHttpRequest对象,但IE6不支持。根据这个特征和用来判断Ie的函数isIe(),我们知道如何判断IE6。判断方法如下。
函数isIe6() {//ie6是一个不支持window的返回isIe()。XMLHttpRequest!窗户。XMLHttpRequest}3判断IE7浏览器。
因为IE8支持文档模式,所以支持document.documentMode不支持IE7,但是IE7支持XMLHttpRequest对象。判断方法如下。
函数isIe7() {//只有IE8支持document.document模式返回isie () window.xmlhttprequest!document.documentMode}4判断IE8浏览器。
从IE9开始,微软逐渐接近标准。我们把IE678称为非标准浏览器,把IE9和其他浏览器比如chrome、firefox都称为标准浏览器。两者的区别之一是。测试以下代码。返回什么?
alert(--[1,]);//NaN在IE678中打印,但是-1在标准浏览器中打印。
那么我们就可以根据上面的差异来判断它是IE8浏览器。方法如下
函数isIe8(){ //alert(!-[1,])///-IE678返回NaN,所以!NaN是真的。标准浏览器返回-1。所以!-1为假返回isIe()!-[1,]document . document mode;}5判断IE9、IE10和IE11浏览器。
IE8浏览器支持jsON内置对象,IE10浏览器支持JS的严格模式。JS的严格模式请参考本文//www . JB 51 . net/article/75037 . htm。
在IE9警报下(!-(1,])返回false,IE9支持addEventListener,但IE11浏览器不支持原IE中唯一的事件绑定attachEvent。根据这些差异,我们可以区分IE9、IE10和IE11浏览器。
6确定其他浏览器。
/****来自曾经项目中封装的公共类函数***///检测函数var check=function(r){ return r . test(navigator。用户代理。tolowercase());};var statics={ /** *是否为webkit内核的浏览器*/isWebkit : function(){ return check(/web kit/);}, /** * 是否为火狐浏览器*/IsFierFox :函数(){返回检查(/FireFox/);}, /** * 是否为谷歌浏览器*/isChrome :函数(){返回!静力学。iso era()check(/chrome/);}, /** * 是否为歌剧浏览器*/isOpera : function(){ return check(/opr/);}, /** * 检测是否为旅行队浏览器*/isSafari :函数(){ //谷歌chrome浏览器中也包含了狩猎归来!statics.isChrome()!statics.isOpera()检查(/safari/);}};射流研究…如何判断工业管理学(工业工程)浏览器的版本包括IE11
!DOCTYPE html html hearteta charset=' utf-8 ' meta name=' author ' content='//www .JB 51。net/'/title我们/title脚本类型=' text/JavaScript ' var userAGENT=navigator。userAGENT,rMsie=/(msie\s|trident .*rv:)([\w.] )/,rFirefox=/(firefox)\/([\w.] )/,rOpera=/(opera).version\/([\w.] )/,rChrome=/(chrome)\/([\w.] )/,rSafari=/version\/([\w.]).*(safari)/;定义变量浏览器;定义变量版本;var ua=用户代理。tolowercase();函数uaMatch(ua){ var match=rmsie。exec(ua);如果(匹配!=null){ 0返回{浏览器: 'IE ',版本:匹配[2]| | ' 0 ' };} var match=rfirefox。exec(ua);如果(匹配!=null){ 0返回{浏览器:匹配[1] | ',版本:匹配[2]| | ' 0 ' };} var match=RoPEA。exec(ua);如果(匹配!=null){ 0返回{浏览器:匹配[1] | ',版本:匹配[2]| | ' 0 ' };} var match=rchrome。exec(ua);如果(匹配!=null){ 0返回{浏览器:匹配[1] | ',版本:匹配[2]| | ' 0 ' };} var match=RSaFari。exec(ua);如果(匹配!=null){ 0返回{浏览器:匹配[2] | ',版本:匹配[1]| | ' 0 ' };}如果(匹配!=null){ 0返回{浏览器: ' ',版本: ' 0 ' };} } var browserMatch=uaMatch(用户代理。tolowercase());if(browsermatch。browser){ browser=browsermatch。浏览器;version=browsermatch . version } document . write(浏览器版本);/脚本/脚本/头体/体/html上面的代码实现了判断功能,下面介绍一下它的实现原理,希望能够给需要的朋友带来帮助。
先来看一段代码:
导航器。用户代理
IE11下的信息截图:
然后使用相应的正则表达式进行匹配IE11。和以前版本的浏览器还是有较大差别的,以前的版本,这个信息中包含msie,IE11中没有了,新增加三叉戟,后面跟着浏览器的版本号码,这一点要特别注意一下。
版权声明:js快速判断IE浏览器推荐阅读(兼容IE10和IE11)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。