Это не тип Google Analytics (хотя мне бы хотелось, чтобы это было).
Мне нужно сделать - как бы глупо это ни звучало - подсчитывать клики пользователей во время их посещениясайт (WordPress сайт FYI).Когда они достигнут пяти щелчков, появится модальное всплывающее окно.Это должно быть 5 кликов либо на одной странице, либо на всем сайте (т.е. считать их клики, когда они посещают несколько страниц, пока их количество не станет 5)
Я подумал, что мне нужно использовать куки, чтобы сохранитьотслеживать количество кликов, хотя я не уверен, что делать, чтобы cookie-файл постоянно обновлялся при нажатии независимо от того, покидает ли пользователь страницу, чтобы перейти на другую, или остается на одной странице.
Я думал о переменных сеанса PHP, так как это сайт WordPress, но я не знаю, нужно ли это?Я просто считаю клики, а не храню какие-либо конкретные пользовательские данные.
Это то, что я делаю до сих пор.В настоящее время время считается до 5 после одного клика, что не идеально.
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1);
}
if (c.indexOf(name) === 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function checkCookie() {
let click = getCookie("click");
if (click === 5) {
alert("stop counting: " + click);
} else {
$(document).on("click", function () {
let count = 1;
while (click < 5) {
click = count++;
setCookie("click", click, 30);
console.log("click count is: " +click);I
}
if (click === 5) {
alert("5 clicks reached!");
}
});
}
}
checkCookie();