Какой процент отслеживаемых гиперссылок может игнорировать JavaScript-код «onclick»? - PullRequest
3 голосов
/ 08 октября 2009

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

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

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

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

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

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

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

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

Ответы [ 4 ]

5 голосов
/ 08 октября 2009

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

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

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

1 голос
/ 08 октября 2009

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

0 голосов
/ 08 октября 2009

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

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

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

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

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

0 голосов
/ 08 октября 2009

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

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

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