jQueryMobile首次加载页面的方式与其他网站相同。常规的Google Analytics集成可以正常工作——请求被跟踪。但是,随后加载的页面是异步加载的,用户点击不会被跟踪。
如何将Google Analytics集成到jQueryMobile网站中,以便跟踪所有页面的点击?
jQueryMobile首次加载页面的方式与其他网站相同。常规的Google Analytics集成可以正常工作——请求被跟踪。但是,随后加载的页面是异步加载的,用户点击不会被跟踪。
如何将Google Analytics集成到jQueryMobile网站中,以便跟踪所有页面的点击?
Jon Gales写了一篇很棒的文章,介绍了这个问题。
http://www.jongales.com/blog/2011/01/10/google-analytics-and-jquery-mobile/
下面是他推荐使用的代码:
$('[data-role=page]').live('pageshow', function (event, ui) {
try {
_gaq.push(['_setAccount', 'YOUR_GA_ID']);
hash = location.hash;
if (hash) {
_gaq.push(['_trackPageview', hash.substr(1)]);
} else {
_gaq.push(['_trackPageview']);
}
} catch(err) {
}
});
更新
由于live
现在已经被弃用,如果您使用的是jQuery 1.7+,则应改用on
事件。 http://api.jquery.com/on/
.on()
对于 jQuery Mobile 1.0 Final 来说有点太新了,但是您可以使用相同方式的 .delegate()
。 - Jasperlive
替换为 on
,因为委托的格式是不同的。 - Walf