Polyfill

本文档概述了 MDN 在 JavaScriptWeb 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 的概述页面中。