[英]How to prevent users from spamming into chat using JS?
我有這個用於聊天的 web 應用程序,一切都很好,但我想在向該聊天中發送消息時設置一些限制,以防止垃圾郵件,也許我想讓用戶每 3 秒發送一次消息聊天。 我用於發送消息的 function 如下所示:
// Kad se poruka posalje
chatForm.addEventListener('submit', (e) => {
e.preventDefault();
// Tekst poruke
let msg = e.target.elements.msg.value;
msg = msg.trim();
if (!msg) {
return false;
}
// Prikazivanje poruke
socket.emit('chatMessage', msg);
// Ciscenje unosa
e.target.elements.msg.value = '';
e.target.elements.msg.focus();
});
// DOM ispis poruke
function outputMessage(message) {
const div = document.createElement('div');
div.classList.add('message');
const p = document.createElement('p');
p.classList.add('meta');
p.innerText = message.username;
p.innerHTML += `<span>${message.time}</span>`;
div.appendChild(p);
const para = document.createElement('p');
para.classList.add('text');
para.innerText = message.text;
div.appendChild(para);
document.querySelector('.chat-messages').appendChild(div);
}
因為,我是 web 開發的新手,誰能給我一些指導,告訴我如何在能夠將消息發送到聊天中之前添加 3 秒延遲?
我有這個用於聊天的 web 應用程序,一切都很好,但我想在向該聊天中發送消息時設置一些限制,以防止垃圾郵件,也許我想讓用戶每 3 秒發送一次消息聊天。 我用於發送消息的 function 如下所示:
// Kad se poruka posalje
chatForm.addEventListener('submit', (e) => {
e.preventDefault();
// Tekst poruke
let msg = e.target.elements.msg.value;
msg = msg.trim();
if (!msg) {
return false;
}
// Prikazivanje poruke
socket.emit('chatMessage', msg);
// Ciscenje unosa
e.target.elements.msg.value = '';
e.target.elements.msg.focus();
});
// DOM ispis poruke
function outputMessage(message) {
const div = document.createElement('div');
div.classList.add('message');
const p = document.createElement('p');
p.classList.add('meta');
p.innerText = message.username;
p.innerHTML += `<span>${message.time}</span>`;
div.appendChild(p);
const para = document.createElement('p');
para.classList.add('text');
para.innerText = message.text;
div.appendChild(para);
document.querySelector('.chat-messages').appendChild(div);
}
因為,我是 web 開發的新手,誰能給我一些指導,告訴我如何在能夠將消息發送到聊天中之前添加 3 秒延遲?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.