是否可以设置一个基本的HTML页面以在加载时重定向到另一个页面?
当前回答
位于头部内部的以下元标记将告诉浏览器重定向:
<meta http-equiv="Refresh" content="seconds; url=URL">
将秒替换为重定向前等待的秒数,并将URL替换为要重定向到的URL。
或者,您可以使用JavaScript重定向。将其放置在页面上的任意位置的脚本标记中:
window.location = "URL"
其他回答
据我所知,迄今为止,我所看到的所有解决这个问题的方法似乎都在历史中添加了老位置。要重定向页面,但在历史记录中没有旧位置,我使用替换方法:
<script>
window.location.replace("http://example.com");
</script>
尝试使用:
<meta http-equiv="refresh" content="0; url=http://example.com/" />
注意:将其放在<head>部分。
此外,对于较旧的浏览器,如果您添加了一个快速链接,以防无法正确刷新:
<p><a href=“http://example.com/“>重定向</a></p>
将显示为
重新使用
这仍然允许您通过额外的点击到达您要去的地方。
位于头部内部的以下元标记将告诉浏览器重定向:
<meta http-equiv="Refresh" content="seconds; url=URL">
将秒替换为重定向前等待的秒数,并将URL替换为要重定向到的URL。
或者,您可以使用JavaScript重定向。将其放置在页面上的任意位置的脚本标记中:
window.location = "URL"
这是前面所有答案的总结,加上通过.htaccess使用HTTP Refresh Header的附加解决方案
HTTP刷新标头首先,您可以使用.htaccess设置这样的刷新标头标题集刷新“3”这相当于在PHP中使用header()函数标头(“刷新:3;”);请注意,并非每个浏览器都支持此解决方案。JavaScript使用备用URL:<脚本>setTimeout(function){location.href=“http://example.com/alternate_url.html"} , 3000);</script>没有备用URL:<脚本>setTimeout(“location.reload(true);”,timeoutPeriod);</script>使用窗口对象:<脚本>window.location.reload(true);</script>刷新标识当不需要依赖JavaScript和重定向头时,可以使用元刷新使用备用URL:<meta http equiv=“刷新”content=“3;url=http://example.com/alternate_url.html">没有备用URL:<meta http equiv=“刷新”content=“3”>使用<noscript>:<noscript><meta http equiv=“refresh”content=“3”/></noscript>
可选
根据Billy Moon的建议,如果出现问题,您可以提供刷新链接:
如果未自动重定向:<a href='http://example.com/alternat_url.html'>单击此处</a>
资源
维基百科元刷新META REFRESH的性能影响使用jQuery刷新(重新加载)一次页面?
如果您希望遵循现代web标准,则应避免纯HTML元重定向。如果无法创建服务器端代码,则应选择JavaScript重定向。
要支持禁用JavaScript的浏览器,请向noscript元素添加HTML元重定向行。noscript嵌套的元重定向与规范标记相结合,也有助于搜索引擎排名。
如果希望避免重定向循环,应使用location.replace()JavaScript函数。
正确的客户端URL重定向代码如下所示(带有Internet Explorer 8和更低版本的修复程序,且无延迟):
<!-- Pleace this snippet right after opening the head tag to make it work properly -->
<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->
<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://stackoverflow.com/"/>
<noscript>
<meta http-equiv="refresh" content="0; URL=https://stackoverflow.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
var url = "https://stackoverflow.com/";
if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
{
document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
var referLink = document.createElement("a");
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
}
else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
推荐文章
- CSS/HTML:什么是使文本斜体的正确方法?
- 我如何才能在表中应用边界?
- 如何使一个DIV不包装?
- CSS div元素-如何显示水平滚动条只?
- 将Dropzone.js与其他字段集成到现有的HTML表单中
- 使用“!”的含义是什么?重要的”?
- 资源解释为样式表,但以MIME类型text/html传输(似乎与web服务器无关)
- 复选框输入是否只在被选中时才发布数据?
- 是类型="文本/css"必须在<链接>标签?
- 如何将LaTeX与Markdown混合?
- 如何使<div>总是全屏?
- 如何中心div垂直内绝对定位的父div
- 创建一个可变长度的字符串,用重复字符填充
- 有效使用< >(锚标签)没有href属性?
- 如何将全局字体应用到整个HTML文档