У меня есть мобильное приложение html5, в котором все существует на одной странице, и я использую history.back / popstate / etc для изменения содержимого страницы (через jQuery Mobile). Я использую Google Analytics для отслеживания различных событий, и на одной странице я отслеживаю, выходит ли пользователь с помощью определенной кнопки:
$('#my-back-button').bind('tap', function() {
_gaq.push(['_trackEvent', 'mycategory', 'myaction']);
history.back();
return false;
});
В браузере android 2.2 вызывается history.back (), но onpopstate не запускается, а страница не запускается. не изменилось. Если я поставлю window.onpopstate = function () {alert ("!"); };
непосредственно перед history.back () я не вижу никаких предупреждений.
Если я поменяю местами две строки (сначала history.back (), а затем _gaq.push), похоже, это сработает, но я не могу полагаться на такой порядок во всем моем коде.
Никаких исключений не создается. Он отлично работает в iOS и настольном Chrome.
Есть идеи, почему history.back () не работает после вызова Google Analytics?