Краткий справочник

Шпаргалка по альтернативам Polyfill.io и проверке возможностей браузера

Справочник по безопасной загрузке полифилов: предупреждение об атаке на цепочку поставок через polyfill.io, зеркало Cloudflare cdnjs, условная загрузка и core-js.

· Опубликовано

[!CAUTION] Критическое предупреждение безопасности (Supply Chain): Оригинальный домен polyfill.io был выкуплен сторонним лицом и использовался для внедрения вредоносного кода. Немедленно удалите все упоминания polyfill.io из всех производственных кодовых баз.

Безопасная альтернатива на Cloudflare CDN

Cloudflare и cdnjs поддерживают изолированное и проверенное зеркало библиотеки полифилов для прямой замены:

<!-- Безопасная прямая замена от Cloudflare -->
<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js"></script>

Условная загрузка возможностей

Чтобы не загружать полифилы в современных браузерах с нативной поддержкой ES6+, используйте встроенную проверку API перед вставкой тега script:

<script>
  if (!(window.Promise && [].includes && Object.assign && window.Map)) {
    var script = document.createElement('script');
    script.src = 'https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js';
    document.head.appendChild(script);
  }
</script>

Современный подход: Core-JS и сборщики (Bundlers)

Современная фронтенд-разработка включает полифилы на этапе сборки (через Vite, Webpack или Babel) вместо загрузки внешних скриптов во время выполнения:

npm install core-js

Во входном файле приложения (index.js):

import 'core-js/stable';

Ссылки

Связанные темы