Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

204
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!