Tengo una aplicación móvil html5 donde todo existe en una sola página y uso history.back/popstate/etc para cambiar el contenido de la página (a través de jQuery Mobile). Estoy usando Google Analytics para realizar un seguimiento de varios eventos y en una sola página que realizar un seguimiento de si el usuario sale a través de un botón en particular:Google Analytics interfiere con history.back() en el navegador android?
$('#my-back-button').bind('tap', function() {
_gaq.push(['_trackEvent', 'mycategory', 'myaction']);
history.back();
return false;
});
En el androide 2.2 history.back navegador() se llama, pero no se dispara onpopstate y la página no se cambia Si pongo window.onpopstate = function() { alert("!"); };
justo antes del histórico.back(), no veo ninguna alerta.
Si invierto las dos líneas (history.back() primero, luego _gaq.push), parece que funciona, pero no puedo confiar en este tipo de ordenamiento a lo largo de mi código.
No se emitieron excepciones. Funciona bien en iOS y en el escritorio de Chrome.
¿Alguna idea de por qué history.back() no funciona después de una llamada de Google Analytics?
Estoy teniendo exactamente el mismo problema. No creo que hayas encontrado una solución o una solución desde la primera publicación hace meses, ¿o sí? – Trott
No encontré una solución lo siento. Finalmente dejamos de usar Google Analytics, y evitamos poner código cerca de history.back(). – DurhamG
No puedo recordar específicamente tener el mismo problema, pero mirando a través del JavaScript de una aplicación HTML5 que construí (hace año y medio ahora), delegué llamadas a Google Analytics a través de una función que acabo de llamar al final de otras funciones/llamadas que lo necesitan – cchana