2009-02-17 7 views
2

Мне было поручено определить, можно ли обнаруживать ссылки с помощью javascript.Как я могу отслеживать пользователей, щелкнув по ссылкам через Javascript?

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

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

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

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

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

Благодаря всем ответам.

+0

У вас есть бэкэнд или нет? Если нет, и если аналитика Google не соответствует уравнению, как, черт возьми, ваш босс намерен отслеживать динамические данные щелчка? –

+0

@crescentfresh: Волшебно. Они хотят GA, они просто не знают, как правильно ее использовать. – GEOCHET

+0

Я не претендую на компетенцию тех, кто выше меня. :) – Allyn

ответ

8

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

site overlay example http://okay-plus.com/dropbox/img/site_overlay.jpg

3

Если это сбор данных о сервисе, вы считаете Google Analytics?

+0

Google Analytics имеет возможность отслеживать все ссылки, включая ссылки AJAX. –

+0

@Rich Что делать, если мы хотим хранить данные на серверах google. Я предпочитаю обрабатывать событие щелчка документа и вынимать из него элемент src. – Ramesh

+0

@ Рамеш: Это звучит глупо и параноидально для меня. Зачем изобретать колесо? – GEOCHET

2

jQuery.min.js размер 30k или ниже. Это неважно.

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

2

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

Как вы выразились, событие onclick - это один из способов пойти. Вам нужно создать скрипт, который будет проходить через теги и назначит им событие 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 вместо предупреждения :) Вот фрагмент кода переходит в головной части, чтобы работать.

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

1

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

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

document.onclick = function() 
{ 
    alert(window.event.srcElement.id); 
} 
+0

@cres - он не предупреждает, вы можете вызвать страницу с этим id как get param. – Ramesh

+0

@ Рамеш: Да, я знаю, я просто с чувством юмора;) –

1

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

var clickCount = []; 
$('a').click(function() { clickCount[$(this).attr("id")]++; return true; }); 
1

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

0

Другой отличный инструмент, который Вы могли бы хотеть, чтобы проверить это http://mouseflow.com. Отслеживание мыши, воспроизведение видео и карты тепла.

Смежные вопросы