2018 年对 IE 8 的支持?

最近我在填一个面向其它企业客户的、浏览者基本上是非 geek 的企业网站的坑。起初我的效率很低,因为很多心思都花在了对 IE 8 的支持(担心还有使用 Windows XP 的浏览者,我就差激动的给 IE 6 也做支持了),但经过对很多类似企业网站和目标访客类型的考察,发现了一些共同点:

  • 很多支持 IE 8 甚至是 6 的企业网站,其实设计风格、框架等等本身就比较陈旧,并没有使用任何 HTML5 的特性,在现代浏览器上也不会有更好的体验。
  • 很多近年来设计的企业网站都用上了若干 CSS3 的特性,并且没有提供 IE 8 的 Polyfill。
  • 很多近年来设计的企业网站都针对旧版 IE 增加了升级浏览器的建议提醒。
// 针对 Windows 7 / 8 用户
var isWindows7 = navigator.userAgent.indexOf("Windows NT 6.1") !== -1;
var isWindows8 = navigator.userAgent.indexOf("Windows NT 6.2") !== -1
    && navigator.userAgent.indexOf("Windows NT 6.3") !== -1;

var bannerHTML = '<div id="ie-sucks">'
    + '你使用的浏览器版本过低,当前网页已经 <strong>不再支持</strong>。为了正常的访问,请考虑更换其它浏览器:<br>'
    + '<a href="http://se.360.cn/" target="_blank">360 安全浏览器</a>'
    + '<a href="http://browser.qq.com/" target="_blank">QQ 浏览器</a>'
    + '<a href="http://pc.uc.cn/" target="_blank">UC 浏览器</a>'
    + '<a href="https://ie.sogou.com/" target="_blank">搜狗浏览器</a>';

if (isWindows7) {
    bannerHTML += '<a href="https://www.microsoft.com/zh-cn/download/internet-explorer-11-for-windows-7-details.aspx" target="_blank">IE 11 浏览器</a>';
}
if (isWindows8) {
    bannerHTML += '<a href="https://www.microsoft.com/zh-cn/download/details.aspx?id=40854" target="_blank">IE 11 浏览器</a>';
}
document.write(bannerHTML + '</div>');

(我知道你们会说为什么不推荐 Chrome 或 FireFox 什么的啊,因为这网站面对的是非 geek,用那种浏览器会让他们窒息的)

  • 大量国内用户用着 Chromium 核心的国产浏览器,比如这个企业的老板用的就是 360 安全浏览器。
    虽然我并不喜欢这些套壳国产浏览器,但是它们为一般的国内访客提供了具有较为现代的 Chromium 内核的浏览器,还支持 Windows XP(Chrome 49、FireFox 52 以后就不再支持了),极大减少了前端开发者的负担,其实还是大快人心的(
  • IE 已经被 Edge 取代,它的市场占有也在全球范围大幅萎缩。
  • 我没有理由支持一个近十年以前的古董。

所以,后来我删除了那些奇怪的 IE 8 Hack,大胆使用了一些属于 HTML 5 的新特性,目前的目标改为了保证在 IE 11 和四大国产浏览器正常显示。

至于你的项目是否需要有古董 IE 版本支持,当然是要看项目需求的,某些情况下你还是要努力搞些 Hack 的(曾经听说过有菊苣在近几年接过需要支持 IE 5 的项目)。不过对于面向大众的网站,我想大胆用一些 HTML 5 特性且不带 Polyfill 应该没啥问题。

(2018 年 2 月更新:原来淘宝早就连 IE8 都不支持了。嗯

本站的评论服务由 Disqus 提供。看不到评论框?请检查你网络连接的科学性。