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 的概述頁面中。