新华社
meta refresh的缺点是难以加入取消跳转、动态倒计时、接口判断和异常处理。页面还需要向用户展🎵示准确剩余时间时,单独使用meta refresh并不理想,因为页面脚本无法直接读取该标签的📌执行状态。
JavaScript 延迟跳转适合登录提示页、操作成功页、支付结果🌟页、下载准备页等场景。页面打开后,定时器会等待3秒,再执行跳转指令。
locatio💯n.replace适合失效提示、权限拦截和临时中🎯转页面,因为跳转后的当前记录会替换原来的中转记录。需要保留中转页历史时,应继续使用window.location.href。
搜索引擎优化场景中的页面跳转还要区分临时提示与永久迁移。浏览器端延迟跳转更适合用户交互,不等同于服务器返回的永久重定向。网站页面已经永久更换地址时,应在服务器层处理状态和规范页面,避免仅依靠前端定时器传递页面迁移信号。
自动跳转网页的倒计时文案应与真实延迟保持一致。浏览器标签页进入后台、设备性能较低或主线程繁忙时,定时器可能🎉出现轻微延迟,因此倒计时更适合作为提示,不应被当作精确计时工具。
HTML 🔮meta refresh 可以在不编写 JavaScript 的情况下延迟跳转,适合结构简单、没有交互需求的静态页面。代码通常放在页面的 head区域:
content属性中的3表示等待3秒,分号后面的内容表示跳转目标。meta refresh由浏览器负责执行,不依赖页面中的脚本,因此在脚本加载失败👍或被浏览器限制时,仍可能👍正常工作。
如果脚本使用了异步请求,延迟跳转应放在请求成功或失败的明确分支中。不要把🎊跳转代码写在请求函数之外,否则页面可能在🤔接口结果返回前就离开当前页面。