最近有个项目要用IE来开发,从来没用过IE的我很自信(没进过IE的坑),然后开发的这几周经历了我最痛苦的一段时间。下面我整理一下最近遇到的坑:
坑1、浏览器伪装:(伪装不止出现在ie中,其他浏览器也会偶尔伪装成ie)
代码里有一段判断浏览器类型的判断,主要是判断是否为ie浏览器,前人给我留下的代码是这样的
/**
* 判断浏览器类型
* @method isIE
* @static
* @return {Boolean} true:Microsoft Internet Explorer
*/
demo.Utils.isIE = function(){
var isIE = false;
if ((navigator.appName == "Microsoft Internet Explorer")&&(navigator.platform != "MacPPC"))
isIE = true;
else if ((navigator.appName == "Netscape"))
isIE = false;
return isIE;
};
开始我很开心,这个库里面方法很全嘛。他给我的demo里只用了jQuery和ztree再就是这个库文件,后来我又使用了bootstrap等一系列东西。发现这块判断出了问题,相同的代码相同浏览器,判断结果却完全不同。懵逼1小时。。。
后来我查到是因为bootstrap的使用导致ie浏览器为了兼容伪装成其他浏览器。我这里伪装成了火狐,不知道是因为电脑上有火狐他就伪装的还是因为其他原因,这里还有待调查。
作为一个初次了解navig