【发布时间】:2020-09-10 08:51:46
【问题描述】:
我尝试制作一个标签,当您“检查”它时,它会每 5 秒自动刷新一次页面。我找到了一些线程,但没有让它工作!到目前为止,我就是这样做的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<label>
<input
type="checkbox"
name="refresh"
autocomplete="off"
value="autorefreshoff"
id="refresh-btn"
onclick="refresh()"
/>
</label>
</body>
<script>
//Don't know what do do here, tried this:
function refresh() {
window.location.reload(1);
}
</script>
</html>
我猜我必须在我的 javascript 代码中创建一个延迟循环?因此,每当“检查”这个标签时,它会每 5 秒循环一次 JavaScript 代码,如果我关闭标签,它就会停止循环。
不幸的是,不太了解javascript。
【问题讨论】:
-
在大约 99% 的情况下,您不希望整个页面自动刷新,而是获取新数据并操作现有 DOM。如今,这通常是通过将新数据推送到您的 web 应用程序的 websockets 来完成的,或者您可以通过
fetch手动请求数据 -
@baao 是的,实际上听起来更好。没想到有这样的东西!我确实从 API(在实际项目中)获取产品的价格,我希望这些价格每 5 秒更新一次。我确实有它,因此您无法选择是否要自动刷新,但发现这很愚蠢,因为我的表格“搜索框”刚刚刷新。但是有办法只刷新你说的价格吗?
-
@KennyMeyer 啊好吧!一个问题,有没有办法询问用户每次刷新之间应该有多少秒?所以用户可以选择是 1 秒还是 27 秒等?我目前正在考虑在 HTML 中使用“选择”“选项”,可能有点硬编码吗?你有解决办法吗?
标签: javascript html css