我有一個html5移動應用程序,其中的一切都存在於一個頁面上,我使用history.back/popstate/etc來更改頁面內容(通過jQuery Mobile)。我使用谷歌分析跟蹤各種活動,並在一個頁面上我跟蹤如果通過特定的按鈕在用戶退出:谷歌Analytics(分析)在android瀏覽器中干擾history.back()?
$('#my-back-button').bind('tap', function() {
_gaq.push(['_trackEvent', 'mycategory', 'myaction']);
history.back();
return false;
});
在Android 2.2瀏覽器history.back()被調用,但onpopstate不解僱並且頁面不會更改。如果我在history.back()之前放置window.onpopstate = function() { alert("!"); };
,則看不到警報。
如果我倒過去兩行(history.back()第一次,然後_gaq.push),它似乎工作,但我不能依靠這種排序在我的代碼。
沒有任何異常被拋出。它適用於iOS和桌面版Chrome。
任何想法爲什麼history.back()在谷歌分析調用後不起作用?
我有完全相同的問題。自從本月首次發佈以來,我認爲你沒有想出解決方案或解決方法,對嗎? – Trott
我沒有找到解決方法抱歉。我們最終停止使用谷歌分析,並且避免將代碼放在history.back()附近。 – DurhamG
我不能具體記得有同樣的問題,但通過JavaScript來查看我構建的HTML5應用程序(一年半前),我通過一個函數將呼叫委託給Google Analytics,該函數在其他函數結束時調用/需要它的呼叫。 – cchana