做网页的时候,经常会遇到需要自动刷新页面的情况。比如你做个待办清单页面,想让它每过一段时间自动更新一下数据,或者你写了个展示实时天气的小工具,内容得跟着变。这时候,HTML页面刷新就成了一个实用的小技巧。
用 meta 标签实现自动刷新
最简单的方法就是在 HTML 的 <head> 里加个 meta 标签。这个标签可以告诉浏览器隔多久刷新一次页面。比如你想让页面每10秒刷新一次,就这么写:
<meta http-equiv="refresh" content="10">
这里的数字10代表10秒。如果你想加个跳转功能,比如刷新后跳到另一个页面,还可以加上 URL:
<meta http-equiv="refresh" content="5;url=https://www.example.com">
这样就是5秒后跳转到 example.com,顺带完成一次“刷新”效果。
用 JavaScript 控制刷新时机
如果想更灵活一点,比如点击按钮才刷新,或者等某个操作完成后才刷新,那就得靠 JavaScript 了。比如你做个记账本页面,录完一笔支出后想刷新看看最新总额,可以加个按钮:
<button onclick="location.reload()">刷新页面</button>
点一下按钮,页面就重新加载了。reload() 是浏览器自带的方法,简单直接。
如果你希望页面在几秒后自动刷新,也可以用 setTimeout 配合 reload:
<script>
setTimeout(function() {
location.reload();
}, 3000); // 3秒后刷新
</script>
刷新时保留滚动位置的小技巧
有时候页面一刷新,滚到哪就回到顶部了,体验不太友好。特别是你在看一个很长的收纳清单,刚翻到第三屏,一刷新又回开头了。可以在 JS 刷新前存一下位置:
<script>
// 刷新前保存滚动位置
window.onbeforeunload = function () {
sessionStorage.setItem('scrollPos', window.scrollY);
};
// 页面加载后恢复位置
window.onload = function () {
const pos = sessionStorage.getItem('scrollPos');
if (pos) {
window.scrollTo(0, pos);
}
};
</script>
这样一来,即使页面刷新了,也会自动滚回原来的位置,像没动过一样。
这些方法用起来都不难,根据自己的需要选一个就行。meta 标签适合简单定时刷新,JavaScript 更适合交互触发。就像整理桌面一样,该归位的归位,该更新的更新,页面也得“定期打扫”才清爽。