[!CAUTION] Advertencia crítica de cadena de suministro: El dominio original
polyfill.iofue adquirido por un tercero y utilizado activamente en ataques de inyección de malware. Elimina inmediatamente todas las referencias apolyfill.iode 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';