【发布时间】:2020-11-25 20:17:22
【问题描述】:
所以总的来说,我对 JavaScript 和 Web 开发还很陌生。我正在尝试编写一个脚本来重新加载网页,如果:
一个。 “forum.html”文件已更新
和
b.名为“聊天”的文本框不为空。
这听起来很简单,但我已经设法以某种方式超越了自己的头脑。该脚本似乎完成了它的设计目标。首先。但随后不知何故陷入了重新加载地狱的愤怒,并在尝试(我假设)无限次重新加载页面后使网页无法使用。
我将把脚本留在这里:
function timer() {
}
//rest time
setTimeout(timer, 10000);
function ifThen() {
while (0 == 0) {
setTimeout(timer, 1000);
if (form.chat.value == "") {
break;
}
}
}
function mything() {
fetch('forum.html')
.then(response => response.text())
.then((data) => {
setTimeout(timer, 7500);
fetch('forum.html')
.then(response => response.text())
.then((data2) => {
if (data !== data2) {
setTimeout(ifThen, 100);
location.reload();
}
delete(data2);
})
delete(data);
})
}
setInterval(mything, 100);
【问题讨论】:
-
小心
while (0 == 0)之类的东西。 -
@technophyle 我已经注意到这个小家伙了。我尝试了其他不包含 while 的排列,但基本上都没有成功。
-
我不认为这个
setTimeout(timer, 7500);正在做你认为它正在做的事情。我想你在找sleep(7500)See here for example -
@David JS 有睡眠功能吗?我一直在寻找这些信息,但在 javascript“睡眠功能”上找不到任何内容
-
我自己对它不是很熟悉,但它确实存在。 setTimeout 是异步的,因此它实际上不会暂停您的执行。
标签: javascript function reload