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?
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.