JavaScript遁·判断 IE 浏览器之术

  用了许久的 jQuery/zepto.js ,随着工龄的增长,不利于我们探索原生的奥秘,JavaScript 作为我们前端开发工程师的母语,如果我们连母语都不深刻了解,熟练运用,那就会被众人耻笑,所以,我决定减少对这些封装库的使用,回归原生,再或者我特么自己用原生封装自己的一个库,对,就是要这么的牛逼!

  我们知道 IE 的引擎和标准浏览器的引擎之间总是有些许差异,因为 IE 这逗逼厂商桀骜不驯的性格,不跟着标准走,偏偏自己走一套,为难了老一辈的web开发工程师。不过虐心归虐心,这也不能难倒我们伟大而又辛勤劳动帅气低调的牛逼的web开发工程师们——判断是否是 IE 浏览器,老子写两套!

最早的解决方案是:

var ie = document.all();

原理很简单,因为只有 IE 系列的有 all() 方法,所以,你懂得...

人总是要有所追求的,为了彰显我们的逼格又出现一种简短的写法:

var ie = ! + "\v1";

你以为这样就牛逼了吗,不,还有比这7个字符更短的6个字符,鼻祖是一个碉堡的俄国人,写法如下:

var ie = ! - [1,];

  其实它的原理很简单,[1,]在标准浏览器会返回字符串"1",相当于调用[1,].toString,IE则返回"1,"。但是这样IE与标准都会通过检测,因此使用负号强制转换为数字,标准能成功转换为1,1会在if中自动转换为true,而IE则转换为NaN,再自动转换为false。

 

转载于:https://www.cnblogs.com/viphchok/articles/5639718.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值