首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在我的网站上用javascript查找用户点击3次?

如何在我的网站上用javascript查找用户点击3次?
EN

Stack Overflow用户
提问于 2018-08-20 05:14:59
回答 2查看 0关注 0票数 0

在JavaScript中有什么方法可以找到用户点击同一域2次或更多次吗?

用户点击网站上任意位置3次后,我需要弹出一个窗口。 我知道如何在一次点击后使用document.referrer或addEventListener,但后来我迷路了。 我需要能够捕获所有点击事件(不仅仅是链接)并计算它们的东西。

EN

回答 2

Stack Overflow用户

发布于 2018-08-20 13:22:13

好的您需要将用户单击事件的列表存储在cookie或服务器端数据存储中。在每一次记录的点击中,将计数增加1,并在数字达到3时执行你的操作。

尝试使用会话cookie来存储页面之间的状态-它们速度快,兼容范围广,在浏览器关闭时会自动关闭,以防止发送垃圾邮件给用户的cookie罐子。

票数 0
EN

Stack Overflow用户

发布于 2018-08-20 14:51:25

谢谢你的所有建议。 我试过这段代码。 但刷新后,单击的变量再次变为0。 我需要保存点击进入cookie(或其他任何内容)的每个新值,因此每次点击页面链接时它的数量都会增加。 是否可以通过这种方式更改cookie中变量的值?

代码语言:txt
复制
var **allLinks** = document.getElementsByTagName("a");

var **clicked** = 0;

**doCookie**('popunder',clicked,1);

for(i=0;i<=allLinks.length;i++){
    allLinks[i].addEventListener("click",countClicks,true);
}

function **countClicks**(){           
        if(clicked == 3){
            popunder(); //something to do
        }
        else{
            alert(readCookie('popunder'));
            return clicked++;
        }
}

function **doCookie**(name,value,days) {
if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function **readCookie**(name) {
    var readName = name + "=";
    var cSplit = document.cookie.split(';');
    for(var i=0;i < cSplit.length;i++) {
        var sc = cSplit[i];
        while (sc.charAt(0)==' ') sc = sc.substring(1,sc.length);
        if (sc.indexOf(readName) == 0) return sc.substring(readName.length,sc.length);
    }
        return null;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档