<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Using Ajax to Count Clicks</title>
	<atom:link href="http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/</link>
	<description></description>
	<pubDate>Sat, 05 Jul 2008 10:02:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Thom Wetzel</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-15358</link>
		<dc:creator>Thom Wetzel</dc:creator>
		<pubDate>Mon, 03 Mar 2008 00:40:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-15358</guid>
		<description>Pablo : Thanks for your comments.  

I'll have to update my stuff to take your notes into account.  

One thing that I'm doing is remembering the last IP address that clicks each link, so double-clicks (quadruple, octa-click or whatever) are ignored.</description>
		<content:encoded><![CDATA[<p>Pablo : Thanks for your comments.  </p>
<p>I&#8217;ll have to update my stuff to take your notes into account.  </p>
<p>One thing that I&#8217;m doing is remembering the last IP address that clicks each link, so double-clicks (quadruple, octa-click or whatever) are ignored.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-13114</link>
		<dc:creator>Pablo</dc:creator>
		<pubDate>Tue, 08 Jan 2008 16:27:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-13114</guid>
		<description>It is also very important to disable caching for the called url, otherwise the browser can take the request response from local memory without really executing the request.

as found on php.net we can use:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past</description>
		<content:encoded><![CDATA[<p>It is also very important to disable caching for the called url, otherwise the browser can take the request response from local memory without really executing the request.</p>
<p>as found on php.net we can use:<br />
header(&#8221;Cache-Control: no-cache, must-revalidate&#8221;); // HTTP/1.1<br />
header(&#8221;Expires: Mon, 26 Jul 1997 05:00:00 GMT&#8221;); // Date in the past</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pablo</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-13113</link>
		<dc:creator>Pablo</dc:creator>
		<pubDate>Tue, 08 Jan 2008 16:13:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-13113</guid>
		<description>When the 3rd parameter sets the request to be run asynchornously
req.open(”GET”, url, true);
I ve encountered difficulties when the page was reloaded before the request was done, so this click was "ignored". Changing it to false should solve the issue.

Also, maybe it's useful to point out that if user makes a double (or quadruple or whatever ) click on the link, the request will be executed twice (or four times and so on).</description>
		<content:encoded><![CDATA[<p>When the 3rd parameter sets the request to be run asynchornously<br />
req.open(”GET”, url, true);<br />
I ve encountered difficulties when the page was reloaded before the request was done, so this click was &#8220;ignored&#8221;. Changing it to false should solve the issue.</p>
<p>Also, maybe it&#8217;s useful to point out that if user makes a double (or quadruple or whatever ) click on the link, the request will be executed twice (or four times and so on).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nikki</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-6532</link>
		<dc:creator>nikki</dc:creator>
		<pubDate>Sat, 04 Aug 2007 13:24:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-6532</guid>
		<description>try your code, it not working, error object expected, where can i download to test.</description>
		<content:encoded><![CDATA[<p>try your code, it not working, error object expected, where can i download to test.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thom Wetzel</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-5225</link>
		<dc:creator>Thom Wetzel</dc:creator>
		<pubDate>Mon, 16 Jul 2007 14:57:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-5225</guid>
		<description>@ Joshua

Read the section titled "Lousy Links".  To search engines, all the links point to www.lmnopc.com -- not the actual site that the text describes, so it looks like none of the links lead to good content.  Using this method, the links actually point to the content they describe.

@ Beeuser

Search engine crawlers don’t use Javascript, so they won’t be triggering the script.</description>
		<content:encoded><![CDATA[<p>@ Joshua</p>
<p>Read the section titled &#8220;Lousy Links&#8221;.  To search engines, all the links point to <a href="http://www.lmnopc.com" rel="nofollow">http://www.lmnopc.com</a> &#8212; not the actual site that the text describes, so it looks like none of the links lead to good content.  Using this method, the links actually point to the content they describe.</p>
<p>@ Beeuser</p>
<p>Search engine crawlers don’t use Javascript, so they won’t be triggering the script.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: beeuser</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-3203</link>
		<dc:creator>beeuser</dc:creator>
		<pubDate>Fri, 08 Jun 2007 08:24:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-3203</guid>
		<description>Hello, nice solution. I will use it in the future. I have one question. How do you  know which visitor is a search engine, cause I don't want to count clicks of search engines?</description>
		<content:encoded><![CDATA[<p>Hello, nice solution. I will use it in the future. I have one question. How do you  know which visitor is a search engine, cause I don&#8217;t want to count clicks of search engines?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-2671</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Wed, 16 May 2007 16:17:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-2671</guid>
		<description>Thank you very much!

This is exactly what I was looking for!

The only thing I don't get, is why this would improve your pagerank and the Adsense-ads.

Anyway, many thanks,
Joshua (I'm Dutch, so don't blame me for incorrect spelling)</description>
		<content:encoded><![CDATA[<p>Thank you very much!</p>
<p>This is exactly what I was looking for!</p>
<p>The only thing I don&#8217;t get, is why this would improve your pagerank and the Adsense-ads.</p>
<p>Anyway, many thanks,<br />
Joshua (I&#8217;m Dutch, so don&#8217;t blame me for incorrect spelling)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thom Wetzel</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-2295</link>
		<dc:creator>Thom Wetzel</dc:creator>
		<pubDate>Sat, 14 Apr 2007 04:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-2295</guid>
		<description>Marco - You're running into the same thing as Jeff.  req needs to be declared outside of loadXMLDoc so that it's accessible to the callback.  

I've updated the code so others won't run into this in the future.  :)</description>
		<content:encoded><![CDATA[<p>Marco - You&#8217;re running into the same thing as Jeff.  req needs to be declared outside of loadXMLDoc so that it&#8217;s accessible to the callback.  </p>
<p>I&#8217;ve updated the code so others won&#8217;t run into this in the future.  <img src='http://www.lmnopc.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Soria</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-2288</link>
		<dc:creator>Marco Soria</dc:creator>
		<pubDate>Thu, 12 Apr 2007 22:56:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-2288</guid>
		<description>Hi Thom, first of all thank you for your code, I tried to implement it in a test page im developing and i couldn't make it work. I debbuged it in firefox using firebird and notice that it catching an error in the line 

req = new XMLHttpRequest();

Because the req variable was not assigned correctly, it had a readyState value of 1 in the ajaxCallback and got the alert error.  I would appreciate if you could help me with this issue.

Thank you very much</description>
		<content:encoded><![CDATA[<p>Hi Thom, first of all thank you for your code, I tried to implement it in a test page im developing and i couldn&#8217;t make it work. I debbuged it in firefox using firebird and notice that it catching an error in the line </p>
<p>req = new XMLHttpRequest();</p>
<p>Because the req variable was not assigned correctly, it had a readyState value of 1 in the ajaxCallback and got the alert error.  I would appreciate if you could help me with this issue.</p>
<p>Thank you very much</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grumo</title>
		<link>http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-1221</link>
		<dc:creator>Grumo</dc:creator>
		<pubDate>Tue, 23 Jan 2007 11:54:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.lmnopc.com/2006/10/09/article-ajax-click-counter/#comment-1221</guid>
		<description>Thank´s a lot for this code. Nice solution. I was looking a lot of click tracking tools and all of them were disgusting. I found http://www.labsmedia.com/clickheat/ interesting too, but it didn´t ruled for pages with frames (were i try  to implement the solution).</description>
		<content:encoded><![CDATA[<p>Thank´s a lot for this code. Nice solution. I was looking a lot of click tracking tools and all of them were disgusting. I found <a href="http://www.labsmedia.com/clickheat/" rel="nofollow">http://www.labsmedia.com/clickheat/</a> interesting too, but it didn´t ruled for pages with frames (were i try  to implement the solution).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
