Google Analytics"
From Documentation
m |
m (remove empty version history (via JWB)) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 30: | Line 30: | ||
Of course, you could only record the information you are interested by examining <javadoc method="name" directory="jsdoc">zk.Event</javadoc>. | Of course, you could only record the information you are interested by examining <javadoc method="name" directory="jsdoc">zk.Event</javadoc>. | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{ZKDevelopersReferencePageFooter}} | {{ZKDevelopersReferencePageFooter}} |
Latest revision as of 04:34, 5 February 2024
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.