一行代码解决IE浏览器的兼容问题

之前在开发项目的过程中,遇到过因为IE版本产生的兼容问题。在自己电脑上用IE浏览器打开没有发现问题,在他们的电脑上用360浏览器兼容模式打开项目,出现不兼容的问题,而我们的360浏览器版本是一样的。最后,经过查阅资料发现,360兼容模式出现的兼容问题,实质还是IE的兼容问题,每个电脑内置的IE版本是不一样的,我的电脑内置IE的版本高,而同事的版本低导致出现渲染页面时出现问题。
解决办法:
在head标签的最前面加上下面代码:

    

http-equiv = "X-UA-Compatible":

这个是针对ie8以上浏览器的一个属性,ie8以下无法识别。就是说ie8以上浏览器遇到这个属性会执行content的描述,大小写不敏感。


无论页面是否包含 指令,均使用 Windows Internet Explorer 7 的标准渲染模式。


以最高级别的可用模式显示内容。


如果安装了 Google Chrome Frame (谷歌浏览器內嵌框架)则使用谷歌浏览器内核模式,否则使用最新的IE模式。
针对IE 6,7,8等版本的浏览器插件Google Chrome Frame,可以让用户的浏览器外观依然是IE的菜单和界面,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核。
如果不指定ie=edge时,当用户浏览器没有chrome内核时,会弹出提示框,提醒用户安装该内核。

面对依然使用旧版IE的用户,我们可以友好地提示其升级浏览器后再访问。
通过以下代码,当用户使用已经停止更新的IE10或旧版IE访问网站将会自动跳转到浏览器升级页:


@cc_on 是 IE10 及更旧版IE特有的条件编译语句,因此可以用来判断是否除 IE11 的其他IE版本 。

PS:判断IE浏览器版本是否为IE10及以上

if(navigator.appName == "Microsoft Internet Explorer"&&parseInt(navigator.appVersion.split(";")[1].replace(/[ ]/g, "").replace("MSIE",""))<=9){
      alert("您的浏览器版本过低,请下载IE10及以上版本");
      return ;
}

高版本浏览器parseInt(navigator.appVersion.split(";")[1].replace(/[ ]/g, "").replace("MSIE",""))的值为NaN

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe

你可能感兴趣的:(一行代码解决IE浏览器的兼容问题)