7

据我了解渐进增强,基本原则之一是网站应该对每个人都有效,无论浏览器版本或设置如何。

我看到的建议细分是:

  • 使用语义标记的 HTML 内容层
  • CSS 表示层
  • 增强层(通常通过 JavaScript 或 JQuery 等 JS 库)

但是,我对处理 HTML 内容层的正确方法有点困惑。特别是语义标记。

我不断看到诸如导航、文章、页脚等 HTML5 标记是为 PE 维护这种语义标记的理想方法。但是,许多较旧的浏览器不支持 HTML5 标签。解决这个问题的简单方法是使用 CSS 将默认样式设置为 { display: block; } 用于 HTML5 标记,但这仅适用于某些浏览器。例如,可怕的 IE6 无法识别 HTML5 元素。

典型的解决方法是使用 javascript 将缺失的元素直接动态地创建到 DOM 中(例如通过 HTML5 shiv)。

但是...如果客户端运行的环境无法识别 HTML5 元素,并且无论出于何种原因,它们都不接受 javascript,那么您如何合并 HTML5 语义标签以支持渐进增强,而不会无法正确呈现无法识别标签的无脚本浏览器?这可能吗,或者您是否必须将这些浏览器排除在您的设计考虑之外(这似乎与 PE 理想背道而驰)?

4

2 回答 2

3

如果您对在没有 JS 的情况下以这种方式支持 GhettoIE 过于偏执,那么这可能是时候if ie在 HTML 中使用评论,指导人们获取 Chrome Frame,或者获取更好的浏览器,或者单击链接获取它们到一个老式的、功能齐全的页面版本,它遵循 CSS2.1(只是核心功能)和 HTML4.01 严格的标记。

渐进增强的重点是提供关注点分离,并提供受支持的功能......但这里有基线要求。

你也不能指望 Mosaic 和 IE3 运行这些东西。

带有 JS 的 IE6,或非 IE,现代标准浏览器,没有是事实上的,在这里。

于 2013-01-10T20:11:58.873 回答
2

根据雅虎的内部流量分析,几乎所有禁用 JavaScript 的用户都在使用兼容 HTML5 的浏览器。不要担心不支持禁用 JavaScript 的稀有 IE8 用户。

您的公司不会因为不支持这些用户而失去任何业务。提供这种水平的支持的唯一真正原因是作为一项学术活动来证明它是可以做到的。你的钱没有什么大不了的。

于 2013-01-10T20:48:41.843 回答