- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试安装 google analytics augments
在 extend.md
中确定H5BP 文件 (https://github.com/h5bp/html5-boilerplate/blob/v4.3.0/doc/extend.md)
它指出“优化的”谷歌分析 JS 代码段包括以下代码:
var _gaq = [['_setAccount', 'UA-XXXXX-X'], ['_trackPageview']];
track jquery AJAX requests
,
track javascript errors
和
track page scroll
应在
_gaq
之后添加被定义为。
_gaq
。作为变量:
(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
e.src='//www.google-analytics.com/analytics.js';
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
ga('create','UA-XXXXX-X');ga('send','pageview');
if (typeof _gaq !== "undefined" && _gaq !== null) {
$(document).ajaxSend(function(event, xhr, settings){
_gaq.push(['_trackPageview', settings.url]);
});
}
最佳答案
您尝试添加的代码将不起作用,如 _gaq
是用于将跟踪信标推送到旧 Google Analytics (GA) 版本的数组。但是,您似乎正在使用的最新版本的 HTML5 BoilerPlate (H5BP) 已经自我更新以利用 Google 发布的下一个 GA 版本 Universal Analytics (UA)。这可以从相对协议(protocol)的 URL //www.google-analytics.com/analytics.js
中看出。以及最新版本的文档。不幸的是,似乎 doc you mentioned尚未更新,正如 H5BP 中提供的 source 的链接优化的 GA 代码,本身已更新为 UA 的代码这就是 H5BP 源现在使用的。
因此,您的附加源代码扩展了 _gaq
的使用。对象将不起作用,因为您没有使用 ga.js
它具有处理推送到 _gaq
的数据的功能来自 GA 的对象,但 analytics.js
对于 UA,它不会初始化任何此类对象,如 _gaq
或具有处理推送到 _gaq
的数据的功能.
但是,在升级自身以使用 analytics.js
之前(UA),H5BP 有一个 GA 版本的脚本,像这样(我得到了这个,由曾经与 H5BP 合作的 friend 提供):
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<script>
var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']]; //here the _gaq was initialised
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src='//www.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
e.src='//www.google-analytics.com/analytics.js';
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
ga('create','UA-XXXXX-X');ga('send','pageview');
if (typeof _gaq !== "undefined" && _gaq !== null) {
$(document).ajaxSend(function(event, xhr, settings){
_gaq.push(['_trackPageview', settings.url]);
});
}
_gaq
将工作。
extend.md
中提到的脚本不适用于您似乎正在使用的 H5BP,这是通过实现旧代码的一种可能的解决方法。您需要的是一种使用现有脚本跟踪 AJAX 等的方法。为此,每次 AJAX 请求完成时,您都可以简单地记录一个虚拟网页浏览量。你可以找到类似的场景
here .在那里,询问者将跟踪应用于模式的打开。您可以应用相同的技术来跟踪页面或部分页面的 AJAX 调用和检索。在您的情况下,我在答案中指定的 VURL 可以是
/virtual/ajax/url-of-page-retrieved-via-ajax
.
extend.md
中的脚本你提到的文件被拿走了。修改脚本以与 UA 一起使用的尝试可能如下所示:
(function ($) {
// Log all jQuery AJAX requests to Google Analytics
$(document).ajaxSend(function(event, xhr, settings){
ga('send','pageview',settings.url.pathname);
});
})(jQuery);
ajaxSend()
方法是每次 jQuery AJAX 调用完成时触发的回调。记住这个词
jQuery
这里。这仅适用于 jQuery AJAX 请求。
xhr
一般代表 XMLHttpRequest。我认为它假设人们知道 jQuery AJAX 调用是什么,我对此不是很了解。
(function(window){
var undefined,
link = function (href) {
var a = window.document.createElement('a');
a.href = href;
return a;
};
window.onerror = function (message, file, line, column) {
var host = link(file).hostname;
ga('send','event',
(host == window.location.hostname || host == undefined || host == '' ? '' : 'external ') + 'error',
message, file + ' LINE: ' + line + (column ? ' COLUMN: ' + column : ''),
{'nonInteraction': 1});
};
}(window));
host+error
, Action 将是错误消息,label 将指向错误发生的位置(行号、文件名等)。
$(function(){
var isDuplicateScrollEvent,
scrollTimeStart = new Date,
$window = $(window),
$document = $(document),
scrollPercent;
$window.scroll(function() {
scrollPercent = Math.round(100 * ($window.height() + $window.scrollTop())/$document.height());
if (scrollPercent > 90 && !isDuplicateScrollEvent) { //page scrolled to 90%
//If you want to track for page scroll for some other percentage of scroll, you
//can edit the number 90, or write additional conditional ga('send',...) calls
//inside this block and vary the label accordingly, specifying the percentage
//of scroll.
isDuplicateScrollEvent = 1;
ga('send','event','scroll',
'Window: ' + $window.height() + 'px; Document: ' + $document.height() + 'px; Time: ' + Math.round((new Date - scrollTimeStart )/1000,1) + 's',
{'nonInteraction':1}
);
}
});
});
scroll
, Action 将是 thw 窗口、高度和文档以及时间。如果您想将滚 Action 为交互式事件进行跟踪(这意味着如果您希望用户在滚动时被跟踪为非弹跳用户),您可以删除行
{'nonInteraction':1}
关于javascript - 如何扩展谷歌分析以跟踪 AJAX 等(根据 H5BP 文档),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21033205/
这两个包看起来非常相似: http://www.passportjs.org/packages/passport-google-oauth2/ http://www.passportjs.org/pa
我想在我的网站上添加通过 Google 和 Twitter 登录的按钮。我需要只使用应用程序的客户端而不是服务器端来完成此操作。但我没有找到任何 API。对于我发现的所有内容,我需要使用带有 key
我使用此链接通过 google plus 共享我的页面。 https://plus.google.com/share?url=http%3A%2F%2Fexample.com%2Fcompany%2
我正在尝试学习 google API,并且我的经验是使用 Python,因此我尝试使用 google api python 客户端来访问一些 google 服务,但在构建服务对象时遇到错误。 从 ap
在其实际的实时托管平台上构建实时站点的努力中,有没有办法告诉谷歌不要索引该网站?我发现了以下内容: http://support.google.com/webmasters/bin/answer.py
我正在开发一个 iOS 应用程序。当我运行用于 google+ 登录的程序时,在我点击允许访问按钮后,会显示此消息。 You've reached this page because we have
我有一个非常复杂的网站,每个页面包含 11 个 js 文件。 我最近添加了 google +1 按钮,代码如下: 这会正确显示 +1 按钮,直到我单击它。当我单击它时,出现此错误:https://
我正在尝试使用 google API 创建一个 html 文件,以便在 google MAPS 上显示 KML 文件。 这是 HTML 代码: function initMap() {
我是使用 Google Benchmark 的新手,在本地运行代码与在 Quick-Bench.com 上运行代码时,我收到了运行相同基准测试(下方)的不同结果,该基准测试使用 C++ 检索本地时间.
我已按照 Google 网站上的说明通过添加以下元标记在我的 AngularJS 网站上启用 Ajax 抓取: 呈现的内容有一些链接,如: User 1 User 2 User 3 还有一些呈现动态
通过 Google 手册实现 Google AppInvite - link . 启动 Invite Activity 并在 LogCat 中获取下一步: E/AppInviteAgent: Get
那么有人用过 Google 的 Go 吗?我想知道数学性能(例如触发器)与其他具有垃圾收集器的语言(如 Java 或 .NET)相比如何? 有人调查过吗? 最佳答案 理论性能:纯 Go 程序的理论性能
Stackdriver 测试我的网站启动速度慢 我们使用 cloudflare 作为我们的站点 CDN 提供商。我们使用 stackdriver 从外部测试站点可用性,我们将时间检查间隔设置为 1 分
我正在尝试使用 stax.GeneralConv() ( https://jax.readthedocs.io/en/latest/_modules/jax/experimental/stax.htm
我有一个从谷歌金融中提取日内数据的软件。但是,由于昨天 Google 更新了 API,所以软件报错了 Conversion from string HTML HEAD meta http-equiv=
我们在尝试从 Google 获取 oAuth token 时遇到“redirect_uri_mismatch”错误: [client 127.0.0.1:49892] {\n "error" : "
我的网站正在使用 Google reCAPTCHA 控件,但我听说它被阻止了 中国,反正我看到有人报告说将 API 更改为 https://www.recaptcha.net在中国工作? Anyone
背景 WordPress Google Adsense 谷歌自动插入 anchor 定广告 https://pptmon.com 问题 如下图所示,主播广告的容器高度太大了! 如何调整高度? 这是谷歌
我在使用 Google Colab 时遇到问题。当我想制作一个新的 Python3 Notebook 时,由于我登录了我的 Google 帐户,因此无法加载刚刚打开的新页面。 我该怎么办? 感谢您的帮
我正在使用 facebook和 google oauth2使用 passport js 登录, 有了这个流 用户点击登录按钮 重定向到 facebook/google auth 页面(取决于用户选择的
我是一名优秀的程序员,十分优秀!