Технический руководитель в моем офисе ругается вверх и вниз, что возможно следующее, но не знает, как именно. Мое исследование ничего не дало, но результат, который он ищет, — это нажатия кнопок (не привязки), которые будут автоматически отслеживаться в Google Analytics без назначения каждой кнопке функции.
Я был в школе мысли, что лучшая практика для семантической структуры HTML заключается в том, что ссылки (якоря) используются для перехода на новые страницы, а кнопки (и другие входные данные) используются для изменения элементов на существующей странице (с несколькими исключения). Клики по ссылкам изначально регистрируются как просмотры страниц в Google Analytics без использования дополнительного JavaScript для каждой привязки; неоспоримый факт. Мы знаем, что пользователь переходит на новую страницу; вот почему тег привязки используется семантически правильно.
Кнопки (насколько мне известно, если кто-то здесь не покажет мне обратное) не отслеживаются без нажатия события с помощью функции JavaScript, такой как:
ga('send', 'event', 'Button Click', 'Open Menu');
Теперь, используя JavaScript (или, в данном случае, jQuery), я мог глобально отслеживать каждое нажатие кнопки:
$('body').on('click', 'button', function(e){
e.preventDefault();
ga('send', 'event', 'Button Click', 'Open Menu');
});
Но это тонна потенциально бессмысленных данных. Затем мне пришлось бы сначала установить переменные для чтения для каждой кнопки, чтобы отправляемые данные были значимыми. Например:
$('body').on('click', 'button', function(e){
e.preventDefault();
//check if the data-event attribute was set
if($(this).data('event')){
ga('send', 'event', 'Button Click', $(this).data('event'));
};
});
Но все же он непреклонен в том, что в моем JavaScript-коде есть что-то, что блокирует кнопки от отправки кликов, когда мне не нужно выполнять всю эту дополнительную работу. Первоначально я заканчивал все события кнопок с помощью return false;
, что, как я позже прочитал, было не лучшей практикой при отслеживании, поэтому все это было удалено. Изменений по-прежнему не было. Есть ли что-то еще, что я должен проверить, чтобы заставить кнопки регистрироваться без JavaScript, или это невозможно, как я изначально подозревал?