javascript – 如何为不能原生识别未知元素的无脚本客户端支持渐进增强功能,同时如何使用HTML5标签?

据我了解渐进增强功能,其中一个基本原则是,无论浏览器版本或设置如何,网站都应该适用于所有人.

我看到的建议细分是:

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

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

我一直看到HTML5标签,如nav,article,footer等,是维护PE语义标记的理想方法.但是,许多旧版浏览器不支持HTML5标记.解决这个问题的简单方法是使用CSS将默认样式设置为{display:block;对于HTML5标签,但这仅适用于某些浏览器.例如,可怕的IE6无法识别HTML5元素.

典型的解决方法是使用javascript直接在DOM中动态创建缺少的元素(例如通过HTML5 shiv).

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

最佳答案
如果你是以超酷的方式支持GhettoIE,没有JS,就这种方式来说,这可能是时候使用,如HTML中的评论,引导人们获得Chrome Frame,或者获得更好的浏览器,或点击链接到把它们带到一个老式的,功能强大但页面功能的版本,它遵循CSS2.1(只是核心功能)和HTML4.01严格标记.

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

您也不能指望Mosaic和IE3运行这些东西.

IE6与JS,或非IE,现代标准浏览器,没有在事实上,在这里.

转载注明原文:javascript – 如何为不能原生识别未知元素的无脚本客户端支持渐进增强功能,同时如何使用HTML5标签? - 代码日志