Если я вставляю ссылку в свои сообщения, я вижу, сколько людей на неё кликнули. Но если я размещаю ссылку на отдельной строке, и она превращается в однобокс, то я никогда не вижу счётчик кликов.
Это сообщение подробнее описывает проблему:
Ответ состоит из двух частей.
Во-первых, необходимо включить открытие ссылок во внешней вкладке. (Технически я этого не понимаю, так как другие ссылки учитываются без включения этой опции.)
Во-вторых…
Таким образом, основная ссылка, по которой кликают пользователи, никогда не будет учитываться. Снова я не понимаю технической разницы между ссылками и почему одна учитывается, а другая — нет.
Независимо от моего непонимания того, что происходит технически, я хотел бы, чтобы клики по однобокс-ссылкам учитывались последовательно.
Я просмотрел все настройки в своей панели управления, но у меня нет флажков для включения открытия ссылок во внешней вкладке… однако ссылки уже открываются в отдельной вкладке.
Мы пробовали кликать как по заголовку статьи, так и по самой ссылке — счётчик не срабатывает ни в том, ни в другом случае.
Вот что странно: пару дней счётчик вдруг начал работать, а затем снова перестал. При этом никаких изменений внесено не было. Я также спросил модератора и нескольких пользователей, видят ли они какие-либо счётчики кликов рядом с размещёнными ссылками. Никто их не видел, так что я знаю, что проблема не только у меня как у администратора.
Как и вы, я хотел бы, чтобы клики по ссылкам в Onebox учитывались последовательно.
Редактирование: Стоит отметить, что для ссылок, размещённых после пробела (чтобы они не попадали в Onebox), счётчик работает… просто не для Onebox.
Я уже включил эту настройку на прошлой неделе, поищите default other external links in new tab. Эта настройка будет применена ко всем новым пользователям, зарегистрировавшимся на вашем сайте после включения настройки. Старые пользователи могут активировать её в своих профилях (на случай, если мы сможем массово включить настройку даже для старых пользователей через консоль).
Я попробовал кликнуть по двум onebox в первых двух постах этой темы https://forum.nodders.net/t/2019-plastic-waste-and-recycling/167, и счётчик увеличился с 0 до 1. Возможно, пользователь, проводивший тест, был старым пользователем и не включил настройку для внешних вкладок в своём профиле, либо пользователь пытался открыть ссылку в новом окне напрямую, кликнув по ней правой кнопкой мыши.
@dax, @codinghorror, я выяснил, почему счётчик ссылок работал у меня и у других на нашем форуме. В разделе Настройки/Интерфейс/Другое, хотя у меня была отмечена опция Открывать все внешние ссылки в новой вкладке, также была включена опция Показывать количество на значке браузера. Похоже, что вторая опция переопределяет первую. Я снял галочку с Показывать количество на значке браузера, сохранил изменения, затем проверил сообщение — счётчик появился!
Также я обнаружил один небольшой нюанс. Когда пользователь размещает ссылку, и OneBox пытается, но не может обработать её (оставляя ссылку как есть), счётчик кликов по ссылке не будет работать, если перед ссылкой нет пробела. Я только что отредактировал сообщение пользователя, где это произошло, добавил пробел, и счётчик начал отображаться.
@dax, есть ли у вас мысли о том, почему для отображения значков кликов в onebox требуется этот параметр? Я мог бы изменить его для своего сайта, но чтобы это было полезно, мне пришлось бы массово изменить настройку для более чем 7400 пользователей, чего я бы предпочел не делать, так как это лишь вызовет путаницу.
Я тоже не понимаю, зачем вы тратите время, ведь клики по одной коробке в любом случае не будут учитываться, за исключением нескольких человек, которые кликают по наименее очевидной ссылке. Это означает, что вместо отсутствия данных о количестве кликов вы будете показывать неверные данные (искусственно заниженные), что, на мой взгляд, гораздо хуже.
Раньше это действительно работало. Клики по Onebox учитывались на нашем сайте. Затем в какой-то момент перестало работать. Точно не помню, когда именно, но думаю, что это было больше года назад. Я считаю, что это регрессия, а не настоящий запрос на новую функцию.
@evantill, не могли бы вы подробнее рассказать, что именно делает ваш компонент?
Простой скрипт, который заменяет клик по ссылке внутри onebox на клик по ссылке в заголовке.
// если клик внутри тела onebox
$('.onebox-body a').on('click.onebox-track-url', function(event) {
event.preventDefault(); // -> игнорируем событие клика внутри onebox
var headerUrl = $(event.target).closest('.onebox').find('header a'); // выбираем ссылку в заголовке
// вместо этого кликаем по ссылке в заголовке, чтобы обновить счётчик отслеживания
if (headerUrl.length > 0) {
headerUrl[0].click(); // -> эмулируем клик по ссылке в заголовке
}
});
</script>
Решением могло бы стать добавление нового параметра в onebox для включения отслеживания ссылок внутри onebox-блоков. В этом случае к ссылкам внутри onebox-блоков можно добавлять класс track-link.
Мне неясно из этой ветки, было ли решение прекратить отслеживание кликов по onebox сознательным или это просто ошибка, для исправления которой можно создать pull request.