Referencia rápida

Hoja de referencia de alternativas a Polyfill.io y detección de funciones

Guía de referencia para cargar polyfills: aviso de seguridad por el ataque a la cadena de suministro de polyfill.io, reemplazo en cdnjs de Cloudflare y carga condicional.

· Publicado

[!CAUTION] Advertencia crítica de cadena de suministro: El dominio original polyfill.io fue adquirido por un tercero y utilizado activamente en ataques de inyección de malware. Elimina inmediatamente todas las referencias a polyfill.io de todos los proyectos en producción.

Alternativa segura en Cloudflare CDN

Cloudflare y cdnjs alojan un espejo aislado y auditado de la biblioteca polyfill listo para reemplazarla directamente:

<!-- Reemplazo directo seguro provisto por Cloudflare -->
<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js"></script>

Carga condicional de funciones

Para evitar cargar polyfills en navegadores modernos que ya soportan de forma nativa APIs ES6+, usa detección de funciones antes de inyectar etiquetas 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>

Enfoque moderno recomendado: Core-JS y empaquetadores

El desarrollo frontend moderno incluye polyfills durante la compilación (vía Vite, Webpack o Babel) en lugar de cargar scripts externos en tiempo de ejecución:

npm install core-js

En el punto de entrada de tu aplicación (index.js):

import 'core-js/stable';

Referencias

Temas relacionados