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