У меня есть мобильное приложение 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?