当前位置:首页 > 谈天说地 > 正文内容

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

34资源网2021年12月17日 10:30429

最近有一个项目是以华为的响应式效果为参考的,为了把项目做好,必然要把华为的源代码重头到尾过一遍,在切图工作这已是家常便饭,当中有几点发现,华为是基于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())

看完文章,还可以用支付宝扫描下面的二维码领取一个支付宝红包,目前可领1-88元不等

支付宝红包二维码

除了扫码可以领取之外,大家还可以(复制 720087999 打开✔支付宝✔去搜索, h`o`n.g.包哪里来,动动手指就能领)。

看下图所示是好多参与这次活动领取红包的朋友:

支付宝红包

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

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

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

分享给朋友:

相关文章

穷人为什么穷?富人为什么富?两者区别是什么?
穷人为什么穷?富人为什么富?两者区别是什么?

穷人之所以穷,因为出生就没钱,受教育程度低,眼界比较狭隘,想要出人头地是很难的,除非你很努力。富人之所以富有,可能是因为他们出身很好,也有可能是后天努力的好。下面小编看到理想青年工作室一篇文章非常好,就转载了过来,希望大家看看穷人和富人的区...

自动回复的经典句子,这11句值得收藏
自动回复的经典句子,这11句值得收藏

1、什么风把您吹来了,是timi赢了么。2、老子被钉钉绑了,要想见老子的话,就去给钉钉整个防沉溺。3、我去吃屎了,一会儿给你捎一泡。4、你好,我是自动回复,我可以陪你聊天,但是我只会这一句。5、喂,这里是比基尼海滩的蟹堡王餐厅,我正在煎放在...

分享100句关于励志的经典语录
分享100句关于励志的经典语录

1、困难像弹簧,你弱它就强,你强它就弱。2、山高路遥不足惧,最怕贪图安逸心。3、贪图省力的船夫,目标永远下游。4、机遇永远是准备好的人得到的。5、马行软地易失蹄,人贪安逸易失志。6、没有人能改变你,别人只能影响你,能改变你的只有你自己。7、...

年轻人不讲武德和耗子尾汁什么意思?什么梗?
年轻人不讲武德和耗子尾汁什么意思?什么梗?

最近经常在朋友圈,抖音上面刷到一些视频评论说年轻人不讲5的和耗子尾汁,小编看着感觉好奇怪,刚开始有点懵逼,结果去网上查了一下才知道,这是太极大师马保国老师讲的。究竟这个梗是怎么来的呢?其实,刚开始人家只是取笑这个马保国大师的梗,后面没有想到...

分享29句励志上进的名言名句
分享29句励志上进的名言名句

1、一个能思虑的人,才实是一个力量无边的人。2、以微笑面对人生。3、一个人最伤心的事情无过于良心的死灭。4、障碍与失败,是通往成功最稳靠的踏脚石,肯研究利用它们,便能从失败中培养出成功。5、金钱损失了还能挽回,一旦失去信誉就很难挽回。6、一...

商汤IPO:估值130亿美元,涉及近40家机构,但未必人人赚钱
商汤IPO:估值130亿美元,涉及近40家机构,但未必人人赚钱

编者按:本文来自创业邦原创,图源:摄图网,作者:艾露恩,编辑:信陵,未经创业邦授权,不得转载。人工智能领域最靓的仔终于要IPO了。商汤科技通过港交所聆讯即将IPO的消息落地。这家亚洲收入最高的AI独角兽已完成10轮融资,融资总额52亿美元,...