Ajax Link Tracker 2.2 – The download
I have rewritten the Ajax Link Tracker to provide a more robust downloadable version.
One of the more interesting aspects of Ajax is the ability to track a user’s interaction within the browser. I wanted to investigate navigation patterns, so I built the Ajax based link tracker. If you press the “Ctrl” and "X" keys you will be presented with an overlay which displays links usage by percentage. This functionality was created with JavaScript and a very simple API. The first version was an experiment, it was never my intention to create a finished tool just to explore the idea and share the results.
Subsequently I have moved on to produce a hosted web application called MapSurface that includes link tracking. Although MapSurface has many advantages over the link tracker I thought it would still be useful to produce a downloadable version of the link tracker. I have completely rebuilt the link tracker adding a few new features. It contains many of the lessons learnt from the construction and beta testing of MapSurface.
Ajax Link Tracker 2.2 + .Net/SQL Server Backend
Ajax Link Tracker 2.2 + PHP/MYSQL Backend
(Pierre Far)
Ajax Link Tracker 1.0 + ASP/MDB Backend (Dean Liou)
Pierre Far and Dean Liou have provided alternative backend systems. I would like to thank them for their efforts and everyone else who has provided feedback.
New features and updates
- Records clicks on buttons
Tracks clicks on form buttons. This includes both submit and button input types.
- Overlay is dragable
The overlay of click information is now dragable. This helps you to view data that may be overlapping. Thanks to dom-drag script from Aaron Boodman
- Allows you to change what information is displayed in the overlay
The JavaScript can be configured to display click number, percentage of clicks and label or a combination of the three pieces of information
- Allow you to change how many days data is displayed in the overlay
The JavaScript can be configured to change the date range of data used by the overlay. This property is useful for sites which have constantly changing layouts.
- Record keyboard hyperlink interactions
Not everyone uses a mouse to click hyperlinks and buttons
- Can find hyperlink label text even in complex HTML
Can find the label text in a link even if the hyperlink contains HTML mark-up.
- Object encapsulation
All the JavaScript is wrapped into two objects. This should stop any conflicts between the Ajax Link Tracker and other JavaScript code.
- Does not override existing JavaScript events handlers
The JavaScript will not override any events already added to the page.
Please remember that Ajax cannot work across domains. If you wish to make this
code work within a website you must include the two aspx pages and .net classes
within that project. You will also have to copy the appSettings xml block
into the “Web.config” file of your application.
Ajax Link Tracker 2 was built with Visual Studio 2003 and SQL Server 2005.
Comments
1
brandon
One think ive noticed is that if a user clicks a link before the pages loads it isn't recording the stat. Is there any way to work around this bug?
Posted 25 May 2006 17:24
2
Glenn Jones
@Brandon, I want to create the link tracker using unobtrusive JavaScript techniques.
The whole script uses window.onload event as a trigger to examine the DOM. The onmousedown events used to track a click are only added to the links once the page has loaded.
So yes you are correct, no click will be recorded until the page has loaded. This a classic JavaScript issue.
There are number of work arounds that I could be used. There a good discussion piece on http://web-graphics.com/mtarchive/001635.php. I will have to try some out and update the script.
Posted 26 May 2006 12:24
3
Steve Varma
Hi Glenn,
I wanted to try out Mapsurface, But the website is not working for sending out invites. Are you still allowing people to try it?
Thanks
Steve
Posted 07 September 2006 15:41
4
Glenn Jones
@Steve, I am sorry we are having some issues with the service at the moment. I am hoping to get it up and running as quickly as possible
Posted 12 September 2006 10:07
5
mahendran
i need it immediately
Posted 07 October 2006 06:13
6
Casey
I installes the php/mysql version and it's tracking links in the db, but when I click ctrl X, none of the labels appear. The scrollbar jumps a little like something is showing, but nothing is visible. Any ideas?
Posted 10 October 2006 01:57
7
Mike
Casey, I was having the same problem.
The solution is easy. The scroll bar twitch you see is caused by the data being appended to the end of the page. Scroll down, it's there.
The fix is to add the CSS entry for .linklabel
.linklabel
{
position: absolute;
z-index: 500;
padding-left: 2px;
padding-right: 2px;
color: #FFF;
border: solid 1px #000;
background-color: #B5494A;
clear: both;
}
Posted 25 October 2006 21:28
8
Kristian
I´ve installed the php/mysql version and it tracks everything correctly but when i press ctrl +x i get a error message in my status bar (IE6)
Error on line 165
It seems to need an object.
I´ve tracked the fault to this line:
if(node.childNodes[0].nodeType == 7)
what is wrong?
Posted 01 February 2007 16:12
9
Jeswin
I get an Error Message - me.getClicksXHR has no properties (line 150)
line 150: me.getClicksXHR.send( ajaxURL, 'get', me.displayClickThroughs, null );
What am i missing?
Posted 19 February 2007 21:32
Comment Guidelines
All comments are moderated. Please keep comments relevant. Abusive, inappropriate and anonymous posts may be edited and/or removed.