2009-10-08 3 views
3

Насколько я знаю, все популярные веб-браузеры сначала выполняют атрибут onclick привязки, затем следуют пути, указанному атрибутом href.Какой процент из следующих гиперссылок может содержать игнорируемый JavaScript-код onclick?

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

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

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

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

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

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

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

+1

Не используйте свои знания или знания людей на этом сайте в качестве индикатора того, что огромная масса (нетехнических) пользователей будет делать. Большинство пользователей, просматривающих веб-страницы, не знают, что такое JavaScript, а тем более - как и почему его отключить. Причинами конфиденциальности являются статистические выбросы. – kdgregory

+0

(Я думаю, вы должны изменить заголовок?) – Arjan

ответ

5

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

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

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

+0

Ссылки - это все ссылки выхода. Я думал о скрипте PHP, который делает подсчет кликов. Но вы правы. Даже «безопасно настроенный» Internet Explorer может блокировать атрибут onlick. – Erik

+2

Журналы Webserver не показывают постраничные страницы через кеш. Если вы пытаетесь проанализировать поведение людей на своем сайте, вы хотите увидеть, какие страницы пересматривают, а не только страницы, которые они посещают в первый раз. – kdgregory

+1

+1 для журналов, но некоторые браузеры не могут сообщать действительный референт по целому ряду причин - это не просто параноидальные пользователи. – Mayo

1

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

0

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

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

+0

Это (косвенно) используется для расчета стоимости за клик. – Erik

0

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

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

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

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

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