Какой процент переходящих по гиперссылкам может быть проигнорирован JavaScript “onclick”?

StackOverflow https://stackoverflow.com/questions/1536791

Вопрос

Насколько я знаю, все популярные веб-браузеры сначала выполняют атрибут onclick привязочной ссылки, затем следуют по пути, указанному атрибутом href .

Проблема здесь в том, что атрибут onclick вызывается только при щелчке левой кнопкой мыши (без нажатия ctrl или shift для новой вкладки или окна) или при нажатии enter на клавиатуре, когда tabIndex установлен на ссылку, по которой вы хотите перейти.

Но есть много других способов перейти по ссылке, помимо этих двух.

  • Ctrl + щелчок
  • сдвиг + щелчок
  • правая кнопка мыши + открыть
  • правая кнопка мыши + новая вкладка
  • перетащите ссылку в адресную строку

и так далее...

Мой клиент использует onclick для статистики конверсий.Что кажется крайне ненадежным.

Мой вопрос:Какой процент гиперссылок просматривается без активации их атрибута onclick?

Все оценки высоко оцениваются.Я совершенно запутался;Я думаю, это может быть любое число...

Это было полезно?

Решение

Помимо тех из нас, кто обычно нажимает среднюю кнопку мыши или Ctrl-щелчок, чтобы открыть ссылки в новых вкладках, есть еще одна серьезная причина сбоя onClick:NoScript и подобные плагины, которые позволяют запускать JavaScript только с сайтов, занесенных в белый список.Если вашего домена нет в моем белом списке, ваш onClick не запустится, независимо от того, как я активирую ссылку.

Если вам нужна надежная статистика, какие страницы посещают люди, для этого есть только один надежный источник:Журналы веб-сервера.

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

Другие советы

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

Все ссылки являются ссылками на выход.Я думал о PHP-скрипте, который выполняет подсчет кликов.

Хотя это не является предметом вашего вопроса, возможно, вы захотите ознакомиться с Google Analytics.Они - Мастера в том, чтобы выслеживать вас.Они отслеживают щелчки правой кнопкой мыши (даже если после этого фактически не выбирают "открыть в новом окне", чего они, очевидно, не могут знать), что приведет к вызовам Ajax для http://www.google.com/url.

Чтобы увидеть аналитику в действии:если Adblock и подобные ему отключены, найдите что-нибудь на google.com и откройте Живые HTTP-заголовки в Firefox (или на вкладке Firebug Net в Firefox, или на панели ресурсов WebKit в Safari или Chrome, отсортированных по времени).Затем щелкните правой кнопкой мыши, кнопкой shift или щелчком мыши по любому результату поиска (предпочтительно результату, который сам по себе не требует большого HTTP-трафика или находится в кэше вашего браузера).

атрибут onclick вызывается только при нажатии левой кнопки мыши (без нажатия ctrl или shift для новой вкладки или окна)

Не совсем так.Я создал быстрый тест в JS Bin, чтобы показать , что клавиши - модификаторы не влияют на onclick событие.(Для щелчка правой кнопкой мыши следует использовать oncontextmenu событие.)

Что ты делаешь в своем onclick обработчик, который, как вы беспокоитесь, не работает?напримересли у вас есть обычная ссылка на страницу...и onclick просто открывает ту же страницу во всплывающем окне заранее заданного размера для удобства пользователя в веб-приложении...тогда, скорее всего, проблем нет (например. CTRL+Нажмите) страница по-прежнему открывается, просто открывается в новой вкладке)

Если вы просто пытаетесь «регистрировать» каждый клик в site/application в целях отслеживания, то, возможно, вы сможете подключиться к onmousedown/up или focus/blur события вместо/также.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top