Google Analytics

From Documentation
Revision as of 09:07, 29 November 2010 by Tomyeh (talk | contribs) (Created page with '{{ZKDevelopersReferencePageHeader}} To track the Ajax traffic with [http://www.google.com/analytics/ Google Analytics] or other statistic services, you have to override a client…')
(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.

<script defer="true"><![CDATA[
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){
}
]]></script>

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

Version History

Last Update : 2010/11/29


Version Date Content
     



Last Update : 2010/11/29

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