Google Analytics мешает работе history.back () в браузере Android?

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

7
задан DurhamG 12 November 2011 в 03:41
поделиться