Перехватить клик по контенту в фрейме - PullRequest
1 голос
/ 18 января 2010

У меня есть iframe, который ссылается на внешний URL-адрес, который обслуживает страницы, содержащие Flash-объявления.

Мне нужно отслеживать, как часто клиент нажимает на одну из этих объявлений.

Подход, который я использую, состоит в том, чтобы визуализировать элемент div поверх iframe.Это позволяет мне перехватывать событие щелчка, однако мне нужно передать этот щелчок до iframe.Возможно ли это с помощью JavaScript?

Ответы [ 3 ]

2 голосов
/ 18 января 2010

Нет, это невозможно.Вы не можете имитировать реальный клик в javascript, вы можете только запускать клик событий.

0 голосов
/ 18 января 2010

Вы не можете передать клик любым законным способом, и вы столкнетесь с междоменными проблемами, если попытаетесь в любом случае имитировать его.И я бы определенно держался подальше от всего, что похоже на решение clickjacking - оно обязательно перестанет работать (и тоже чувствует зло).

Возможно, вы сможете взломать что-нибудь, в зависимости от того, какэто должно быть точно.Это может включать отслеживание последовательности событий, происходящих, когда пользователь помещает указатель мыши в область баннера, а затем покидает страницу (делая вывод, что он нажал на объявление).Вы можете пропустить некоторые из них, и вы также можете поймать некоторые ложные срабатывания.

Это будет работать примерно так:

  1. Оставьте закрывающий div на месте
  2. onMouseOver,скрыть div и установить обработчик события onbeforeunload, который регистрирует «щелчок» в записи AJAX (или аналогичной)
  3. , когда мышь выходит из области баннера, это означает, что она не нажимала на объявление, поэтому покажитеснова div и удалите обработчик событий

Я предполагаю, что вы получите точность 80-90%, но вам придется тестировать во многих браузерах.Также предполагается, что реклама загружается в то же окно, а не в новое.Если он загрузится в новый, я думаю, что это будет еще сложнее.

0 голосов
/ 18 января 2010

Я не думаю, что это возможно

Но, предполагая, что клики перенаправляют пользователя на сайт рекламы, вы можете перехватить щелчок пользователя, используя перенаправления. Измените ссылку на некоторый скрипт на вашем собственном сервере с уникальным идентификатором рекламы. Зарегистрируйте щелчок и перенаправьте пользователя на страницу рекламы.

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

...