需要限制按钮点击

时间:2016-07-06 05:33:22

标签: jquery

我需要一些代码,可以限制每12小时使用一次按钮两次。我使用了jquery方法,但是当用户刷新页面时,他们可以再次点击它。

我不想要特殊性在数据库中有任何列的点击量,但如果它需要我会。提前致谢:D

3 个答案:

答案 0 :(得分:0)

您可以将Cookie用于此目的。这里有完整的详细信息,您可以使用jquery

创建,读取和删除cookie

create, read, and erase cookies with jQuery

希望这对你有用。

答案 1 :(得分:0)

如果它是安全功能,则js中没有安全的方法来管理它。您将不得不在服务器端处理它。如果没有,请使用localStorage而不是cookie,因为cookie是有限的,我遇到了Java-Server的问题,如果它们包含太多cookie,它将拒绝该请求。

if(!localStorage.hasOwnProperty("buttonClicks")) {
    localStorage.buttonClicks = 0;
} else if(typeof localStorage.buttonClicks !== "number" ){
    localStorage.buttonClicks = 0;
}
// save as variable to ensure the user will not modify it on the fly
var buttonClicks = localStorage.buttonClicks;
button.on("click",function(e){
    // maybe reset timeout on click to delete the buttonClicks
    if(buttonClicks >2) {
        return;
    }
    localStorage.buttonClicks++;
    buttonClicks++;
    // do something
});

此方法仍然不包含任何安全性。用户可以在他随时将开发人员工具中的值设置为1后重新加载页面。因此,当他被告知如何使用这些工具时,他仍然可以在12秒内点击... 4次。

答案 2 :(得分:0)

这完全取决于您想要限制用户的范围。以下列出了我能想到的方法:

  1. 您可以拥有客户端或服务器端会话变量,但是当用户重新打开浏览器或打开另一个浏览器时,他可以再次单击它。
  2. 你可以像@RamSingh建议的那样创建cookie,但是,如果用户清除缓存,他只需再次点击它即可。
  3. 如果你想避免上述两种情况。一个数据库需要来存储信息,但是如果用户使用另一个网络则无法跟踪他。