Skip to content

Progressive Enhancement

Progressive Enhancement Resources Awesome

关于渐进增强的综合资源集合. 从概念和策略到特征检测和测试方法. 完成(代码)示例列表.

The Concept

Progressive Enhancement 是指在验证目标环境(如浏览器)是否具备能力后,逐步提升用户体验. 从内容开始,确保您保持功能性和可访问性.

Strategies

您可以通过不同的方式应用渐进增强:

Feature Detection

在尝试增强体验之前,您需要确保环境能够增强体验. 您通过执行特征检测来测试它:

Support Tables

不同的环境(平台、浏览器、版本)具有不同的能力. 支持表会告诉您每个环境具有哪些功能. 了解支持级别可以帮助您权衡改进与其实施的努力和影响.

Testing Methods

通过渐进式增强,您可以支持不同环境中的不同体验. 这些是测试所有这些变化的一些方法:

Examples

Custom Form Elements

Data Visualisations

  • Timeline - 从定义列表到 SVG 插图(带演示的文章).
  • Charts - 使用 HTML5 画布(文章和库)从数据表到主题图表.

Images

使用 ajax 和 history.pushState 在静态页面之间异步获取和转换:

  • Barba.js - 添加带有事件挂钩、缓存和预取支持的页面转换.
  • SmoothState.js - 添加带有事件挂钩、缓存和预取支持的页面转换. (需要 jQuery).
  • MoOx/pjax - 类似于 jquery-pjax,但没有 jQuery 依赖.
  • Turbolinks - 添加带有事件挂钩和缓存支持的页面转换. 具有绑定到 iOS 和 Android 上的本机导航控件的适配器.

License

CC0

Jasper Moelker 在法律允许的范围内,根据版权法在全球范围内放弃对本作品的所有权利,包括所有相关权利和邻接权利.

您可以复制、修改、分发和执行作品,甚至可以用于商业目的,所有这些都无需征得许可.