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

编程入门 行业动态 更新时间:2024-10-24 04:29:54

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

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" charset="UTF-8">

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

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

<meta http-equiv="X-UA-Compatible" content="IE=7" />
无论页面是否包含 <!DOCTYPE> 指令,均使用 Windows Internet Explorer 7 的标准渲染模式。

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
以最高级别的可用模式显示内容。

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

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

<script>
/*@cc_on
window.location.href="http://support.dmeng/upgrade-your-browser.html?referrer="+encodeURIComponent(window.location.href); @*/
</script>

@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/u/ac4daaeecdfe

更多推荐

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

本文发布于:2023-06-14 08:14:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1454967.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:浏览器   代码   兼容问题

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!