执行后停止JavaScript
如何在执行后停止JavaScript 如果其他人说了一个关键字,我会在聊天文本中创建一个javascript。 但是脚本发送消息而不是停止 现在代码是:执行后停止JavaScript,javascript,setinterval,Javascript,Setinterval,如何在执行后停止JavaScript 如果其他人说了一个关键字,我会在聊天文本中创建一个javascript。 但是脚本发送消息而不是停止 现在代码是: setInterval(function() { jQuery('#frame_chatbox') .replaceWith('<iframe id="framejqs" src="/chatbox" scrolling="yes" width="100%" height="100%" frameborder="0
setInterval(function() {
jQuery('#frame_chatbox')
.replaceWith('<iframe id="framejqs" src="/chatbox" scrolling="yes" width="100%" height="100%" frameborder="0"></iframe>');
jQuery('#framejqs').contents()
.find('#chatbox_footer #chatbox_messenger_form #submit_button')
.click(function() {
if(jQuery('#framejqs').contents()
.find('#chatbox_footer #chatbox_messenger_form input[name="message"]')
.val().indexOf('HERE THE KEYWORD') != -1) {
$.post('/chatbox/chatbox_actions.forum?archives',
{mode:"send", sent:"HERE THE MENS"});
return false;
}
});
});
setInterval(函数(){
jQuery(“#frame_chatbox”)
.替换为(“”);
jQuery('#framejqs').contents()
.find(“#聊天室#页脚#聊天室#信使#表单#提交#按钮”)
。单击(函数(){
if(jQuery('#framejqs').contents()
.find(“#聊天室#页脚#聊天室"信使"表单输入[name=“message”]”)
.val().indexOf('这里是关键字')!=-1){
$.post(“/chatbox/chatbox\u actions.forum?archives”,
{模式:“发送”,发送:“这里是男人”};
返回false;
}
});
});
它重复发送消息,因为发送函数被包装在每毫秒触发一次的间隔中(缺少第二个参数):
time\u between\u sends
定义作为第一个参数传入的函数的不同调用之间经过的时间
例如:
setInterval(function () {
console.log(new Date()); // logs the date once per second (1000ms === 1s)
}, 1000);
更一般地,我会考虑使用事件侦听器代替一个间隔。
可以简单地使用<强> <强>var interval = setInterval(function() {
//your code
if(condition to stop interval)
{
clearInterval(interval);//clearing interval when you want
}
});
这是
更新
如果您想在收到post方法的响应后停止它,您可以执行以下操作:
代码:
如果您不知道的话,如果您更方便的话,可以使用葡萄牙语版本的stackoverflow:谢谢。但是,如果用户说出关键字,则在发送之间加上时间,则screep不会激活。您在该功能中检查完整的聊天历史记录,对吗?因此,如果您要查找的关键字在历史记录中出现一次或多次,则
indexOf
条件将为true,因此消息将再次发送。可能只检查聊天历史记录中的最新记录?我可以在执行后立即执行“clearInterval(interval);”吗?如果是,我怎么做?你确定你可以在任何你想要的地方执行它@VictorEyerNow,javascrip立即停止了。不,victor,你走错方向了<代码>clearInterval()在文档加载时停止函数。请准确告诉我何时停止setInterval
?,在此之后:$.post('/chatbox/chatbox\u actions.forum?archives',{mode:“send”,sent:“HERE THE MENS”});
var interval = setInterval(function() {
//your code
if(condition to stop interval)
{
clearInterval(interval);//clearing interval when you want
}
});
var myVar = setInterval(function(){
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
$.post('/echo/html/','',function(){
myStopFunction()//calling method to stop setInterval
});
}, 1000);
function myStopFunction() {
alert("stoping");
clearInterval(myVar);
}