首先,您对“深度链接”的想法不是谷歌的。实际上,/compliance/ 是一个页面,其中所有选项卡的内容都已加载,而 # 只是一个内联锚,它显示一些相应的内容并隐藏其余内容。这不是新的综合浏览量,而是页面上发生的事件。在大多数情况下,将每个 jQuery 选项卡作为一个新页面来跟踪是不正确的,但我可以在这里看到您想要这样做的原因。
您要做的是在每次切换选项卡时调用 _trackPageview() 函数。您可以通过将其放在选项卡的“更改”回调中来做到这一点(在您现在处理 $.address.title 的位置之后,该页面源代码的第 143 行)。
这里唯一的问题是在页面加载时也会调用更改。因此,当页面加载时,您将拥有初始 trackPageview (我们认为这不是您想要的),然后是选项卡的第二个。
所以我的建议是,在“标签”是比物理页面更有意义的页面结构的页面上,您删除此行:
_gaq.push(['_trackPageview']);
相反,在选项卡上的 .change 回调内部,调用:
var _gaq = _gaq || [];
_gaq.push(['_trackPageview', document.location.pathname + document.location.hash]);
现在还有一个问题。它将跟踪页面浏览量,例如/compliance/#/additional_risk_management/
同样,Google 并不真正认为 # 表示新页面,因此如果由于某种原因该代码不起作用,您必须解决从您跟踪的任何页面中删除 # 的问题,如下所示:
var _gaq = _gaq || [];
gaq.push(['_trackPageview', document.location.pathname + document.location.hash.replace("#/","")])