Skribbl.io聊天机器人JavaScript脚本仅执行一次问题求助
问题解决:聊天机器人脚本仅执行一次的修复
- 核心问题:你在
setInterval里错误使用了send()写法,这会立即执行一次send函数,然后把它的返回值(undefined)传给setInterval,导致定时器无法重复触发任务。 - 修正方法:把
send()改成send,传递函数本身的引用给setInterval,这样定时器才会每隔1秒调用一次send函数。
修正后的代码:
function send() { var ic = document.getElementById("inputChat"); ic.value = "ChatBot online"; ic.parentNode.dispatchEvent(new Event('submit', { bubbles: false, cancelable: false, })); } setInterval(send, 1000);
额外补充:如果后续需要停止重复发送,可以把setInterval的返回值保存下来,需要停止时调用clearInterval:
const chatTimer = setInterval(send, 1000); // 停止发送时执行 clearInterval(chatTimer);
内容的提问来源于stack exchange,提问作者benz
相关产品推荐
相关产品推荐

