Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

198
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda