Google Analytics

From Documentation
Revision as of 04:34, 5 February 2024 by Hawk (talk | contribs) (remove empty version history (via JWB))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

To track the Ajax traffic with Google Analytics or other statistic services, you have to override a client-side API: zAu.beforeSend(String, Event, Desktop). This method will be called each time ZK Client is about to send an Ajax request to the server. You could override it to record the requests on any statistic service you prefer.

Here we use Google Analytics as an example to illustrate how to override it.

try {
var pageTracker = _gat._getTracker("UA-xxxx"); //whatever code your website is assigned
pageTracker._setDomainName("zkoss.org");
pageTracker._initData();
pageTracker._trackPageview();

zk.override(zAu, "beforeSend", function (uri, req) {
	try {
		var t = req.target;
		if (t && t.id && (!req.opts || !req.opts.ignorable)) {
			var data = req.data||{},
				value = data.items && data.items[0]?data.items[0].id:data.value;
			pageTracker._trackPageview(uri +"/" + t.id + "/" + req.name + (value?"/"+value:""));
		}
	} catch (e) {
	}
	return zAu.$beforeSend(uri, req);
});
}catch(e){
}

Of course, you could only record the information you are interested by examining Event.name.




Last Update : 2024/02/05

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.