мониторинг активности кликов пользователей по объявлениям (adsense или в другой сети)

#javascript #jquery #onclick

#javascript #jquery #onclick

Вопрос:

Я думаю отслеживать все клики пользователей по объявлениям, которые у меня есть на моем веб-сайте (включая adsense и другие сети)

Как вы думаете, возможно ли было бы добавить прослушиватель событий с помощью jquery, который отправляет вызов ajax до того, как пользователь сможет открыть страницу рекламодателя?

Ответ №1:

Предполагая, что у вас есть все объявления, упакованные в контейнер с классом ad , который вы могли бы сделать:

 $('body').delegate('.ad', 'click', function(){
  //YOUR AJAX CALL HERE
});
  

Я не совсем уверен, работает ли это с flash-контентом, но вы могли бы попробовать.

Комментарии:

1. Я думал добавить список событий для каждой ссылки на моей странице, а затем для ссылки, начинающейся, например, с googleads.g.doubleclick.net Я сделаю вызов ajax…

2. Можно сделать аналогичным образом $('body').delegate('a', 'click', function(){ /*check link target */}) . Но я думаю, вы пропустите все ссылки, которые сделаны из содержимого flash. Не привязывайте событие к каждому a-элементу, используйте делегирование.

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

4. итак, в чем разница между delegate и live? : D

5. при использовании live jQuery необходимо выполнить поиск по указанному селектору один раз, при делегировании — нет. В противном случае $(‘body’). делегировать (‘a’ … и $(‘a’).live(… одинаковы. Кроме того, с помощью delegate вы можете указать цель делегирования, отличную от элемента body