Polyfill
本文档概述了 MDN 在 JavaScript 和 Web API 参考文档中包含 polyfill 的政策。
polyfill 是网络平台功能的实现,网站可以在不支持该功能的浏览器中使用它。Polyfills 使 Web 开发人员能够编写单个代码库来针对多个浏览器和浏览器版本,即使其中一些浏览器不支持某些使用的功能。
Polyfills 对 Web 开发人员很重要,但也有风险:有 bug 的 polyfills 可能会破坏网站或造成安全漏洞。因此,MDN 推荐特定的 polyfill 来源,并且在添加其他来源方面非常谨慎。
JavaScript 参考中的 Polyfills
精选 Polyfills
JavaScript 参考文档可以链接到来自两个来源的 polyfills:
- core-js 库。
- es-shims 组织。
来源的选择基于以下标准:
- 符合它们所提供实现的特性的规范。
- 被 Web 开发社区采纳,例如通过 npm 下载次数等指标。
提议额外的 Polyfill 来源
任何人都可以通过在 MDN 讨论论坛中 发起讨论来提议 MDN 认可额外的 polyfill 来源。但是,MDN 维护者希望 MDN 链接的已认可 polyfill 的数量保持非常少,以降低推荐会导致 Web 开发人员遇到问题的 polyfill 的风险。
Polyfills 在页面中的集成
当 JavaScript 参考文档中的页面链接到 polyfill 时,会在页面末尾的“另请参阅”部分添加链接。
链接放置在“另请参阅”列表的开头,格式如下:
md
- [Polyfill for `featureName` in `project-name`](link)
Web API 参考中的 Polyfills
精选 Polyfills
Web API 参考文档可以链接到与特性本身规范一起维护的 polyfills。
例如,Trusted Types API 有一个 polyfill,它与规范 维护在同一存储库中。因此,MDN 上的 Trusted Types API 参考文档可以链接到该 polyfill。
Polyfills 在页面中的集成
Polyfills 通常集成到 API 的概述页面中。