Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
¿Cómo evito el conflicto entre los nombres de objetos y funciones en diferentes archivos .js?

Acabo de agregar Google Analytics a mi sitio. Aproximadamente el 25 % de las veces que se carga, aparece el siguiente error del archivo de análisis de Google:

TypeError no detectado: a.slice no es una función

Creo que es una interferencia de nombres entre objetos y funciones dentro de dos archivos .js que están en el sitio, el archivo google analytics js y no estoy seguro de qué otro. Cuando agrego un punto de interrupción en el archivo de Google Analytics, puedo ver que cuando ocurre el error, a referencia a un objeto en otro archivo. Aparece en scope>local en el depurador y dice que es un objeto de page.js Revisé ese archivo y me aseguré de que no haya objetos o funciones con ese nombre. Creo que en realidad proviene de leaflet.js que estoy usando. Parece ser una condición de carrera en cuanto a quién carga primero obtiene el nombre. Si el archivo de análisis se carga primero, todo está bien y todo funciona correctamente; de lo contrario, aparece el error.

No puedo cambiar el archivo del folleto y no tengo control sobre esos dos archivos. ¿Hay alguna manera de evitar conflictos entre los dos archivos?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Bueno... No es una solución elegante, pero podría forzar la carga del folleto después de que se cargue el análisis.

Todavía. Stackoverflow usa análisis y no veo a objeto global declarado. Y he trabajado con análisis durante un tiempo y nunca lo había visto declarar algo tan ambiguo como a. Tener algo como a alcance global me recuerda el código sin cerrar minificado en el alcance global. Cual puede ser tu problema.

Esto puede provenir de GTM, si el folleto se implementa a través de él.

De todos modos, no hiciste suficiente depuración. Intente bloquear solicitudes a ciertos archivos JS para averiguar exactamente qué bibliotecas causan la condición de carrera. También asegúrese de que GTM no sea un caso aquí, ya que a menudo sucede allí porque las personas tienden a implementar etiquetas html personalizadas de código no cerrado pero minimizado. Causa exactamente esta situación.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda