是否可以设置一个基本的HTML页面以在加载时重定向到另一个页面?
当前回答
一旦页面加载,init函数就会启动并重定向页面:
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script>
function init()
{
window.location.href = "www.wherever.com";
}
</script>
</head>
<body onload="init()">
</body>
</html>
其他回答
如果您希望遵循现代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 -->
位于头部内部的以下元标记将告诉浏览器重定向:
<meta http-equiv="Refresh" content="seconds; url=URL">
将秒替换为重定向前等待的秒数,并将URL替换为要重定向到的URL。
或者,您可以使用JavaScript重定向。将其放置在页面上的任意位置的脚本标记中:
window.location = "URL"
将以下代码放入<head>部分:
<meta http-equiv="refresh" content="0; url=http://address/">
您可以使用META“重定向”:
<meta http-equiv="refresh" content="0; url=http://new.example.com/address" />
或JavaScript重定向(请注意,并非所有用户都启用了JavaScript,因此始终为他们准备备份解决方案)
<script language="javascript">
window.location = "http://new.example.com/address";
</script>
但如果您有选择,我建议您使用mod_rewrite。
你应该使用JavaScript。将以下代码放在头标签中:
<script type="text/javascript">
window.location.assign("http://www.example.com")
</script>