Javascript Rails 4 TurboLink和谷歌分析
我希望将Google Analytics添加到我的Rails 4应用程序中,并阅读了有关Turbolinks的问题 我使用了以下答案来制定解决方案: 以下代码来自我在assets>javascripts下创建的新analytics.js.coffee文件Javascript Rails 4 TurboLink和谷歌分析,javascript,ruby-on-rails,ruby,google-analytics,Javascript,Ruby On Rails,Ruby,Google Analytics,我希望将Google Analytics添加到我的Rails 4应用程序中,并阅读了有关Turbolinks的问题 我使用了以下答案来制定解决方案: 以下代码来自我在assets>javascripts下创建的新analytics.js.coffee文件 app/assets/javascripts/analytics.js // Coffee $(document).on 'page:change', -> if window._gaq? _gaq.push ['_trackP
app/assets/javascripts/analytics.js
// Coffee
$(document).on 'page:change', ->
if window._gaq?
_gaq.push ['_trackPageview']
else if window.pageTracker?
pageTracker._trackPageview()
// Javascript
$(document).on('page:change', function() {
if (window._gaq != null) {
return _gaq.push(['_trackPageview']);
} else if (window.pageTracker != null) {
return pageTracker._trackPageview();
}
});
视图>布局>\u footer.html.erb(我为加载代码而设置的文件)
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-837283948-1”、“myapplication.com”);
ga(‘发送’、‘页面浏览’);
然后,我将以下代码放在我的application.html.erb文件的视图>布局下
<%= render 'layouts/footer' %>
application.html.erb文件中的呈现代码导致应用程序崩溃,因此我猜我做错了什么。我已经按照指南去做了,不能让它工作
感谢您花费的时间和精力。好吧,您做错了一件事,那就是您使用的代码来自两个版本的Google Analytics 在您的第一个代码示例中,有一行
\u gaq.push([''u trackPageview'])代码>引用库中旧的\u gaq
全局变量
在第二个代码示例中,有一行ga('send','pageview')
引用库中新的ga
全局变量
除此之外,使用Turbolinks跟踪页面浏览量之所以困难,是因为Rails正在将您的应用程序从传统的请求-响应转换而来
模型转换为单页应用程序模型
我建议您阅读上的开发者指南,了解如何正确地完成这项工作
…或者只是使用TurbLink宝石,如果你不想学习这些东西:
你是否考虑使用?@斯皮克曼不,我不知道这个解决方案。它与上面的类似吗?如果我能通过简单的代码更改使上述功能正常工作,那就太好了。期待你的想法。是的,基本上是一样的。看一看
<%= render 'layouts/footer' %>