当前位置:首页 > 谈天说地

ie版本怎么降低版本(2021年ie最新版本)

34资源网2021-12-17643

最近有一个项目是以华为的响应式效果为参考的,为了把项目做好,必然要把华为的源代码重头到尾过一遍,在切图工作这已是家常便饭,当中有几点发现,华为是基于bootstrap布局,运用了bootstrap的幻灯片组件,又进行了一些二次方法添加改造,而这次个过程中又碰触到了另外一个超屌的js判断ie版本的解决方案,决定将它分享:

jQuery在1.9版本之前,提供了一个浏览器对象检测的属性$.browser,使用率极高。但是在1.9版本发布之后,大家钟爱的这个属性被jQuery无情的抛弃了。大家开始着手寻找$.browser的替代方案。于是各种利用IE bug的检测方法被搜了出来:

// shortest from a Russianvar ie = !-[1,]// Option from Dean Edwards:var ie = /*@cc_on!@*/false// Use the commented line:var ie//@cc_on=1// Variation (shorter variable):var ie = ‘v’==’v’// Option to Gareth Hayes (former record-holder):var ie = !+”v1″

还有一些读取navigator.userAgent的方式,在苹果看来这些写法都不够友好,也不容易记忆,在搜索和挑选之后,终于找到了一个容易理解且友好方便的写法!

解决方案

IE知道自身毛病很多,于是提供的一套官方的HTML hack方式:

<!–[if IE]>

// 全部IE版本可见

<![endif]–>

<!–[if IE 6]>

// IE6可见

<![endif]–>

依次等等。

这样的写法在其它浏览器里,完全就是一坨注释而直接遭到无视,但在IE里却不会。IE会分析里面的提到的版本号,并根据版本号确定要不要解析里面的DOM元素和文本内容。等一下!DOM元素?那岂不是可以使用js来获取里面的DOM元素?反正谁看到了,谁就是IE!于是,国外大神就有了下面的写法:

var isIE = function(){ var b = document.createElement(‘b’)

b.innerHTML = ‘<!–[if IE]><i></i><![endif]–>’

return b.getElementsByTagName(‘i’).length === 1}

这也太巧妙了!首先生成了一个b元素,设置它的innerHTML为一坨只有IE才认识的注释,注释里只有一个空的标签,然后读取里面的出现的元素i的个数是不是等于1,是不是等于1,是不是等于1。。。。

在大苹果看来,这样的写法比其它任何一种都要好。至于为什么生成一个b元素并且里面写一个i元素而不是div或者strong,更多是考虑到前者字节量更小。

检测各个IE版本的方法也就顺理成章了:

var isIE6 = function(){ var b = document.createElement(‘b’)

b.innerHTML = ‘<!–[if IE 6]><i></i><![endif]–>’

return b.getElementsByTagName(‘i’).length === 1}// var isIE7// …

更进一步

在苹果看来,还可以进一步将版本号提取成参数,就能生成一个通用的检测IE版本的函数了:

var isIE = function(ver){ var b = document.createElement(‘b’)

b.innerHTML = ‘<!–[if IE ‘ + ver + ‘]><i></i><![endif]–>’

return b.getElementsByTagName(‘i’).length === 1}if(isIE(6)){ // IE 6}// …if(isIE(9)){ // IE 9}

这样想检测哪个版本都毫无压力。但是,如果只想检测是不是IE,而不关心浏览器版本,那只需要在调用函数的时候,不传递参数即可。

var ie = isIE()

最后依次贴下在各大浏览器里测试代码的截图。

alert(‘ie6:’ + isIE(6) + ‘n’ + ‘ie7:’ + isIE(7) + ‘n’ + ‘ie8:’ + isIE(8) + ‘n’ + ‘ie9:’ + isIE(9) + ‘n’ + ‘ie:’ + isIE())

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/3535.html

分享给朋友:

相关文章

养成良好的习惯,做一名有品位的教师

养成良好的习惯,做一名有品位的教师

陶行知先生说:“思想决定行动,行动养成习惯,习惯形成品质,品质决定命运”。最近从网上读了《影响教师一生的100个好习惯》一书,不禁对陶先生这句话有了更深刻的领悟和理解。阅读本书带给我的不仅是享受,更多的则是生活的引领,智慧的传递和方法的教授…

视频号入口在哪里(视频号直播入口新手手册)

视频号入口在哪里(视频号直播入口新手手册)

视频号助手在哪里?视频号助手什么时候上线?微信视频号助手正式上线目前微信视频号助手已经开始内测使用了,大家可以直接在PC端扫码登录,管理自己的视频号,可以看到自己的各项动态数据,非常方便管理。 视频号助手在哪里 视频号助手在哪里? 手机微…

汽车中的8848,高合HiPhi X顶配售价高达80万,你会买单吗?

汽车中的8848,高合HiPhi X顶配售价高达80万,你会买单吗?

编者按:本文来自微信公众号银杏科技(ID:yinxingcj),作者:负束,编辑:白望,创业邦经授权转载 2015年9月丁磊加入乐视,担任乐视超级汽车联合创始人、法拉第未来全球CEO。 当时丁磊一定没想到,乐视很快就会陷入了资金链断裂,贾跃…

适合小孩用的手机(教你一个简单的办法)

适合小孩用的手机(教你一个简单的办法)

1/12 11月15日,IPRO科技正式发布了全球首款自律智能旗舰IPRO学生手机P100,这台手机解决了家长们对“孩子玩手机”这件事的担忧,也打破了市场对学生手机的刻板印象。 2/12 3/12 IPRO 学生手机 P100 打破了传…

阴阳师晴明技能怎么升级(阴阳师晴明最后一个技能解锁方法)

绘卷4轮放一次树桩,星是三回合,可以用星buff来帮我们计数树桩回合数。 开局超星绘卷插树桩,晴明用星,然后绘卷切普攻,晴明切灭。 第3轮后,不超星的输出身上的星buff消失,晴明手动切星下一轮补buff,此时树桩还能存在一回合。 第4轮晴…