Захватить ссылки переходы по ссылкам из Javascript - PullRequest
1 голос
/ 18 марта 2009

Чтобы отследить весь поток кликов пользователя, я бы хотел запустить событие javascript, если пользователь щелкает правой кнопкой мыши и выбирает ссылку «Открыть в новой вкладке» (или средние щелчки в большинстве браузеров) по ссылке. Большинство этих ссылок ведут за пределы моего сайта, и я хотел бы как можно меньше вмешиваться в общую работу браузера (например, в строке состояния и т. Д.). Какие варианты есть, чтобы решить эту проблему?

Ответы [ 4 ]

2 голосов
/ 18 марта 2009

Если вы ищете способы просмотра обращений к исходящей ссылке, вы можете попробовать следующее:

  • Используйте скрипт, например link.php? Src = http://www.example.com, который увеличивает при нажатии счетчик для каждого IP-адреса и пользовательского агента. Это, однако, выглядит не очень хорошо в строке состояния. Он также может быть сохранен веб-сканерами.

  • Используйте ненавязчивый JavaScript, чтобы прикреплять обработчики событий к внешним ссылкам. Вы можете определить, являются ли они внешними, если имя хоста присутствует и не совпадает с тем, на котором вы находитесь. Затем вы можете использовать этот обработчик событий, чтобы сохранить href, запретить событие click по умолчанию, увеличить число так же, как первый сценарий, а затем отправить window.location фактическому href. Это, конечно, не работает, если JavaScript не включен / не поддерживается.

1 голос
/ 18 марта 2009

Есть много способов, которыми пользователь может создать новую вкладку в браузере:

  • Средний клик
  • Контекстное меню
  • Жест мыши
  • Кнопка «Новая вкладка» на панели инструментов
  • "Файл"> "Новая вкладка"

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

0 голосов
/ 11 июня 2009

Захват среднего щелчка работает.

Вы

  • нужно проверить версию браузера (т.е. 6 ничего не открывается при среднем нажатии),

  • должны использовать mousedown и mouseup, чтобы проверить, происходят ли эти два события на одном и том же элементе,

  • необходимо проверить, какая кнопка была нажата. (например, функция jQuery "which")

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

0 голосов
/ 18 марта 2009

Вы можете сделать простое перенаправление на сервер и зарегистрировать попадания, которые он получает
Или это должен быть JS?

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