localStorage"巧妙"设置过期时间

本文介绍了一种使用localStorage来控制用户请求频率的方法,防止用户高频率点击提交按钮导致的后台压力过大,通过设置请求间隔时间,有效阻止非正常点击行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候我们需要控制用户频繁向后台发送请求,比如用户高频率点击提交按钮:

可以现在前端使用localStorage控制下这个请求频率,拒绝非正常点击行为,缓解后台压力:

function push() {
    layui.use('layer', function () {
        var layer = layui.layer;
        var content = $("#blog_content").val();
        if (!logined()) {
            showLogin();
            return;
        } else if (!content.trim()) {
            layer.msg("内容不能为空~~~", {icon: 5});
            return;
        } else if(!get("blog",1000 * 60)) {
            layer.msg("发布太快了,休息下~~~", {icon: 5});
            return;
        }else {
            send(content);
            set("blog","push");
        }
    })

}

function set(key,value){
    var curTime = new Date().getTime();
    localStorage.setItem(key,JSON.stringify({data:value,time:curTime}));
}
function get(key,exp){
    var data = localStorage.getItem(key);
    if(!data){
        return false;
    }
    var dataObj = JSON.parse(data);
    if (new Date().getTime() - dataObj.time>exp) {
        return true;
    }else{
        return false;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值