Snabbreferens

Fusklapp för alternativ till Polyfill.io & funktionsdetektering

Referensguide för inläsning av polyfills: säkerhetsvarning om leverantörskedjeattacken på polyfill.io, ersättning via Cloudflare cdnjs och villkorlig laddning.

· Publicerad

[!CAUTION] Kritisk säkerhetsvarning: Den ursprungliga domänen polyfill.io köptes upp av tredje part och användes aktivt i attacker med skadlig kod i leverantörskedjan. Ta omedelbart bort alla referenser till polyfill.io från all produktionskod.

Säkert alternativ på Cloudflare CDN

Cloudflare och cdnjs driver en isolerad, granskad spegel av polyfill-biblioteket för direkt ersättning:

<!-- Säker direkt ersättning från Cloudflare -->
<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js"></script>

Villkorlig funktionsladdning

För att undvika att ladda polyfills i moderna webbläsare som redan stöder ES6+ inbyggt, använd funktionsdetektering innan script-taggar läggs till:

<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>

Modern rekommenderad metod: Core-JS & bundlers

Modern frontendutveckling buntar polyfills vid kompilering (via Vite, Webpack eller Babel) i stället för att hämta externa skript vid körning:

npm install core-js

I applikationens ingångsfil (index.js):

import 'core-js/stable';

Referenser

Relaterade ämnen