如何将Google Analytics集成到jQueryMobile网站

问题描述:

jQueryMobile按照每个网站的要求加载其首页。通常的Google Analytics集成有效 - 请求未被追踪。但后续页面异步加载,用户点击不被跟踪。如何将Google Analytics集成到jQueryMobile网站

如何将Google Analytics集成到jQueryMobile网站中,以便跟踪所有页面点击?

+1

[这里有一个解决方案用正确的事件绑定更新答案,使用jQuery Mobile 1.3](http://*.com/a/18736218/315024) – Walf 2013-09-11 08:30:17

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现在已经过时,你应该使用on事件相反,如果you're使用jQuery 1.7 +。 http://api.jquery.com/on/

+3

虽然您不需要_setAccount调用。如果你已经在第一页上有它。在_setAccount – Eduardo 2012-01-25 02:39:44

+2

jQuery Mobile 1.0 Final与jQuery Core 1.6.4一起打包后,您可以多次调用_trackPageview,因为升级到1.7+可能会导致问题(我已经看到了使用Blackberry和1.7的白屏问题)。我带这个bceuase'.on()'对于jQuery Mobile 1.0 Final来说有点太新了,但是你可以在同一个庄园中使用'.delegate()'。 – Jasper 2012-01-26 07:04:52

+0

请注意,您必须在jQuery Mobile执行之前绑定此事件,否则它不会工作(将其放入您的mobileinit处理程序中)。是的,你应该只调用一次_SetAccount,但它也可以这样工作。 – 2012-10-25 09:47:33

+0

-1。两个链接都不能回答这个问题。适用于本机iOS和Android应用上的GA;后者与jQuery Mobile无关。 – Yahel 2012-01-23 15:35:10

对于PhoneGap的和谷歌分析那些问题:

谷歌代码使用cookie和它不与文件工作://网址至极就是PhoneGap的使用。 Pokki团队制作a good implementation,它使用localStorage代替cookie。 我做了GitHub上叉删除pokki的需求,所以这里是与PhoneGap的工作作为一个独立的库

https://github.com/ggendre/GALocalStorage

希望这会帮助别人:)