Как я могу отслеживать пользователей, кликающих по ссылкам через Javascript? - PullRequest
2 голосов
/ 18 февраля 2009

Мне было поручено определить, можно ли обнаружить щелчки по ссылкам с помощью JavaScript.

Я знаю об атрибуте onclick, который помогает мне в этом. Кроме того, я не знаю, каков наилучший подход. Я уже сказал своему боссу, что это, вероятно, будет связано с некоторой формой Ajax, которая, вероятно, включает в себя большую библиотеку, что неприемлемо.

Есть ли другой способ использовать ajax или в любом случае использовать ajax, который не будет добавлять много времени?

Изменить: он хочет, чтобы иметь возможность рассказать, сколько раз пользователи используют ссылки на главной странице сайта. К сожалению, мы не можем сделать гладкое решение на стороне сервера, потому что почти все страницы на сайте просто HTML. Я хотел бы преобразовать все страницы в php или другую альтернативу и просто принять к сведению данные HTTP_REFERRER, но в настоящее время это невозможно.

Мы уже используем аналитику Google; он не записывает данные реферера.

Редактировать еще раз: Оказывается, мой босс не видел оверлея, и я предположил, что он щелкнул по всем вкладкам. После моего расследования, первоначально все они сообщали об отсутствии кликов, но я обнаружил, что у нас была старая версия аналитики Google. Быстрое обновление до новой версии и проблема решена.

Спасибо за все ответы.

Ответы [ 9 ]

8 голосов
/ 18 февраля 2009

На самом деле, Google Analytics отслеживает эти данные. Если вы перейдете на страницу Обзор содержания вашего отчета, то появится ссылка для Site Overlay . Это покажет вам ваш веб-сайт с количеством кликов по каждой ссылке на странице.

пример наложения сайта http://okay -plus.com / dropbox / img / site_overlay.jpg

3 голосов
/ 18 февраля 2009

Если это для сбора данных об использовании веб-сайта, рассматривали ли вы Google Analytics вместо?

2 голосов
/ 18 февраля 2009

Не стану обсуждать, хорошая ли это идея или нет, но вот код, который делает то, что просит ваш заголовок.

Как вы понимаете, событие onclick - это один из способов. Вам нужно создать скрипт, который проходит по тегам a и назначает им событие onclick. Примерно так:

<script type="text/javascript">
window.onload = function() {
  var a = document.getElementsByTagName("a");
  for(var i=0; i < a.length; i++ ){
    a[i].onclick = function() { alert("link clicked"); };
  }
}
</script>

Если вы хотите сообщить серверу о щелчке, вам потребуется вызов AJAX вместо оповещения :) Этот фрагмент переходит в раздел head для работы.

Еще один способ сделать это - прослушать общее событие window.onclick и отследить объект, по которому щелкают, если это тег, вы можете выполнить любой код, какой пожелаете.

2 голосов
/ 18 февраля 2009

jQuery.min.js - 30 КБ или меньше. Это не большое.

Почему ваш начальник так или иначе хочет отслеживать клики по ссылкам? Если это URL-адреса на вашем собственном сайте, то вы все равно сможете получить это из журналов доступа или Google Analytics (или более полезного варианта этой информации).

1 голос
/ 25 февраля 2009

Кстати, вы также можете пометить ваши внешние ссылки и заставить GA отслеживать их:

" Как вручную отслеживать клики по исходящим ссылкам? "

1 голос
/ 18 февраля 2009

В дополнение к Google Analytics вы можете проверить ClickTale . Он предлагает наложение сайтов и довольно много функций, которых нет у Google.

1 голос
/ 18 февраля 2009

Если вы в конечном итоге используете jQuery (как рекомендовал один из авторов), вы можете довольно легко перехватить все ссылки. Например, если вы хотите подсчитать, сколько раз была нажата каждая ссылка (проиндексированная по id), вы можете написать что-то вроде этого:

var clickCount = [];
$('a').click(function() { clickCount[$(this).attr("id")]++; return true; });
1 голос
/ 18 февраля 2009

По некоторым причинам, если вы не можете использовать Google Analytics, попробуйте обработать событие window.onclick, и из объекта события вы можете прочитать элемент src. Это скажет вам объект, на котором срабатывает событие щелчка. (Я полагаю, что щелчок будет срабатывать как для клавиатуры, так и для мыши.

Пример кода написан только для IE. Если вам нужны другие браузеры, возможно, вам придется изменить код

document.onclick = function()
{
    alert(window.event.srcElement.id);
}
0 голосов
/ 10 апреля 2011

Еще один замечательный инструмент, который вы можете попробовать - http://mouseflow.com. Отслеживание мыши, воспроизведение видео и тепловые карты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...