消灭 IE6 的阴谋

Avatar of Robin Rendle
Robin Rendle

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费积分!

Chris Zacharias 发布了几篇关于 YouTube 团队在 2009 年添加一个横幅要求用户从 IE6 切换到更现代浏览器的理由。

YouTube 惊人的增长带来了喜忧参半的结果,许多故事将被埋没在层层新涂料之下。这就是为什么我想讲述十年前,一个小型网络开发团队如何在 YouTube 内部密谋消灭 IE6 并成功逃脱的故事。

我不记得是什么具体的事件导致我们的网络开发团队在 YouTube 餐厅共进午餐时策划消灭 IE6 的计划。也许是因为我发布了一个包含属性选择器在半支持的 HTML 元素上的 CSS 样式表。任何理智的网络开发者都会期望这会被无法完成任务的浏览器忽略。但 IE 的旧版本并非如此。在特定条件下,IE 中对不支持的 HTML 元素的属性选择器会导致内部递归,最好的情况是浏览器崩溃,最坏的情况是触发蓝屏死机。

这里有很多有趣的事情需要考虑。IE6 对开发者来说是出了名的难以使用,会让团队花费大量时间修复破坏游戏 bug,而这些 bug 通常只占他们网站总流量的一小部分。但是,必须指出,一旦做出这样的决定,该从哪里停止呢?突然之间,制作一个仅限 Chrome 的网站变得更容易,忽略基本的无障碍原则,忽略语义标记,并制作一个为自己优化的网站。这将我们引向更棘手的话题,例如 浏览器多样性专有资源,这些资源似乎 与开放、包容的网络背道而驰.

我在这里想起了 Jeremy Keith 的书,弹性 Web 设计,其中 他写道

如果一个网站使用渐进增强构建,那么即使某个特定功能不受支持或无法加载也没关系:Ajax、地理位置、无论什么。只要核心功能仍然可用,web 设计师就不需要为了将对较新功能的支持塞入旧版浏览器而绞尽脑汁。

Jeremy 还引用了 Mat Marquis,他恰好参与了波士顿环球报的响应式重新设计,他在其中论证道

波士顿环球报上的许多酷炫功能在 JS 出现故障时无法使用;但“阅读新闻”并非其中之一。

也许这里存在一个折衷方案;也许不存在。但我发现 Mat 和 Jeremy 的方法更鼓舞人心,对网络的整体健康更有利。

直接链接 →