Большинство ресурсов предлагают использовать обработчик onclick
с trackEvent()
для отслеживания исходящих ссылок. НО этот способ не работает со всеми способами навигации! Он не будет работать, если щелкнуть средней кнопкой (кроме Chrome) или удерживать нажатой клавишу «Control» (кроме Chrome и FF), чтобы открыть новую вкладку. -нажмите и выберите новую вкладку или окно из контекстного меню или, если вы перетащите ссылку на другую вкладку. Разве такие случаи onclick
просто не называются. Вы можете проверить это по очень простой ссылке:
<a href="http://www.google.com" onclick="alert('GO');">GO</a>
Помещение JavaScript в атрибут href
разрывает ссылку во всех случаях, когда открыта новая вкладка или окно.
Помещение onclick
в span
, которое выглядит как ссылка, не позволит пользователям решать, хотят они открывать в новой вкладке или нет.
Наконец, переход на страницу перенаправления, которая отслеживает исходящее событие, вызывает проблемы с обратной навигацией - когда пользователи пытаются вернуться назад, они возвращаются на страницу перенаправления, а затем JS снова перенаправляет на страницу назначения. Им нужно дважды нажать назад ... быстро.
Есть ли лучший способ, который был бы точным и удобным для пользователя?