使用 meta 实现页面的定时刷新或跳转
这个方法最开始是在 Linlin Yan (颜林林) 的 GitHub Pages 上第一次看到。后来,随着自己也用上了,就开始有了更深一些的认识。
跳转域名¶
在 yanlinlin82/yanlinlin82.github.io 看到一个通过 https://yanlinlin82.github.io 可以直接重定向到 https://yanlinlin.cn/ 的用法 —— 只需要把 index.html
写成这样就可以:
<!DOCTYPE html>
<html>
<head><meta http-equiv="refresh" content="0; url=https://yanlinlin.cn/"></head>
<body></body>
</html>
页面定时跳转与刷新¶
这部分的内容主要来源自:《小tip: 使用meta实现页面的定时刷新或跳转》。
meta 源信息功能之页面定时跳转与刷新¶
几乎所有的网页头部都有
<meta>
源信息。除了我们常用的定义编码、关键字(name=”keywords”)、描述(name=”description”)(for SEO),还可以定义视区大小、缩放比例等(for 移动端),如下:<meta name="viewport" content="width=device-width,initial-scale=1.0">
以及,定义网页的过期时间,Cookie 的过期时间等等。
文本要介绍的内容,科科,跟上面都没关系。哦,抱歉,都有关系,只是名称我故意没提到。主角嘛,总要最后闪亮登场!
就是我们网页平时跳转,还可以使用
<meta>
实现,下面几个典型代码示例:
这个表示当前页面每5秒钟刷一下,刷一下~<meta http-equiv="refresh" content="5">
这个表示当前页面2秒后跳到首页~<meta http-equiv="refresh" content="2; url='/'">
页面直接跳转到腾讯网~<meta http-equiv="refresh" content="0; url='http://www.qq.com/'">
所以,当我们下次遇到“登录成功,正在跳转到您之前访问页面……”的时候,可以使用
<meta>
的这个refresh
刷新,跳转功能,可以说是成本最低的。您可以狠狠地点击这里:meta与当前页面定时刷新Demo
上面 Demo 效果就是上面第1个示例代码效果。
根据我的测试,此特性包括IE7在内的浏览器都是支持的。
问题来了:为何 meta 跳转不火呢?¶
大家可以看到,
meta
跳转,使用方便,不用写 JS,不用会后台代码,定时跳转刷新什么的玩得照样很溜,而且兼容性好,为啥总感觉不温不火,很少看见有人提及呢?新晋的小伙伴不知有没有听过这么一个词,叫做“万恶的IE6年代”。
据说,当年,这一批老旧的浏览器,问题很多,其中就有对
meta
两个小小的不友好。我也是听说,不一定准确。坊间是这么传闻的:
- 时间设为0的跳转,有时候页面会闪一下;
- 跳转到其他页面,浏览器后退按钮是不能用的;
但是啊,现在是什么年代啊,监狱风云都拍到第二季了,这些老问题,我觉得就可以忽略不计了。
不妨大胆试试
meta
跳转,好好利用下浏览器的原生特性,说不定就会发现比什么 JS 跳转之流用得更开心。
所以,在文章的最后有一个小想法 —— 我们是不是也可以利用这个方法实现无数个链接 301 重定向( URL 转发),再也不需要担心是否需要主机+Nginx 之类!