最近一直在用less写css,因为在低版本IE(6-8)中需要引入一个fix的js,用于填补低版本IE的兼容性问题。每次写东西都要引用两个js挺麻烦的,就想写一个简单的版本判断来自动管理shim脚本。
因为我的IE已经升级到11,之前常用的IE判断方式(!+'\v1' ,activeX)等在IE11里都宣布失效(不过发现IE11很多地方都在向标准看齐,应该算是一个好现象吧)。而且userAgent这个坑爹的货一直被伪装来,伪装去,看的有点反胃。
在网上搜索了一番,发现一个非常巧妙的办法
var _IE = (function(){ var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i'); while ( div.innerHTML = ' ', all[0] ); return v > 4 ? v : false ;}());
利用条件语句巧妙的解决了这个判断问题,不得不感叹这代码写得好啊!不过在我的IE11里面搞不定,貌似是IE10+以后就不支持条件语句了()。
不过已经完美解决我对低版本IE判断的需求了,特此记录一下!