在指定时间后重定向网站

Posted

技术标签:

【中文标题】在指定时间后重定向网站【英文标题】:Redirect website after specified amount of time 【发布时间】:2011-03-18 13:10:02 【问题描述】:

我必须做些什么才能在网站上拥有一个功能,它说它将在 3 秒左右将您重定向到该网站?

【问题讨论】:

How can i redirect to a page (home) via another page(success page) where some success message is to be displayed?的可能重复 我很好奇,你为什么要这样做?每次我访问这样的页面,我宁愿在 0 秒内被引导。 @allesklar 抱歉回复晚了。我正在开发一个网站,我想看看是否可以更轻松地从代码编辑器切换到网络浏览器,而无需每次都刷新。 这个JS redirect 生成器将帮助您轻松创建延迟重定向sn-ps。它有一个 noscript 和 seo 支持,还有一个 IE 8 - 和更低的 - 修复来传递 http 引用! @allesklar 是使用此功能的一个示例。如果您更改域并希望每个人在第一个月被重定向到新域(但让他们知道旧域将在一个月左右后被删除)。因为即使您发送和发送电子邮件,也总会有人忘记并转到旧域。 【参考方案1】:
<meta http-equiv="refresh" content="3;url=http://www.google.com/" />

【讨论】:

或者如果你有多个使用 的站点,则只重定向到根目录 W3C 建议不要使用这个标签:w3.org/TR/WCAG10-html-TECHS/#meta-element【参考方案2】:

您可能正在寻找meta refresh tag:

<html>
    <head>
        <meta http-equiv="refresh" content="3;url=http://www.somewhere.com/" />
    </head>
    <body>
        <h1>Redirecting in 3 seconds...</h1>
    </body>
</html>

请注意,meta refresh 的使用如今已被弃用和反对,但有时它是唯一可行的选择(例如,如果您无法在服务器端生成 HTTP 重定向标头和/或您需要支持非 javascript 客户端等)。

【讨论】:

【参考方案3】:

最简单的方法是像这样使用 HTML META 标签:

<meta http-equiv="refresh" content="3;url=http://example.com/" />

Wikipedia

【讨论】:

【参考方案4】:

如果您想要更好的控制,您可以使用 javascript 而不是使用元标记。这将使您拥有某种视觉效果,例如倒计时。

这是使用setTimeout()的一个非常基本的方法

<html>
    <body>
    <p>You will be redirected in 3 seconds</p>
    <script>
        var timer = setTimeout(function() 
            window.location='http://example.com'
        , 3000);
    </script>
</body>
</html>

【讨论】:

如果您希望文本在重定向之前动态倒数到 0,这将是一种可行的方法。使用 1 秒计时器,其中计时器函数更新 HTML 文本,然后启动新的 1 秒计时器,直到 3 秒过去,然后执行重定向。【参考方案5】:

将以下 HTML 重定向代码放在 HTML 代码的 和 标记之间。

&lt;meta HTTP-EQUIV="REFRESH" content="3; url=http://www.yourdomain.com/index.html"&gt;

上面的 HTML 重定向代码会立即将您的访问者重定向到另一个网页。 content="3; 可以更改为您希望浏览器在重定向之前等待的秒数。4、5、8、10 或 15 秒等。

【讨论】:

【参考方案6】:

使用这个简单的 javascript 代码使用特定的时间间隔将页面重定向到另一个页面...

请将此代码添加到您要重定向的网站页面中:

<script type="text/javascript">
(function()
   setTimeout(function()
     window.location="http://brightwaay.com/";
   ,3000); /* 1000 = 1 second*/
)();
</script>

【讨论】:

&lt;meta http-equiv="refresh" content="3;url=http://example.com/" /&gt; 是一个更好的选择,因为它更简单且无需 JavaScript 支持即可工作。 你是对的兄弟......但这取决于具体情况......有时我们需要重定向特定事件,因为 JS 是最好的选择。 我明白你的意思,“Sunny S.M”。尽管几乎总是应该使用元标记,但在某些特定情况下,如您的情况,JavaScript 可能是唯一的选择。【参考方案7】:

这是一个在 X 秒后重定向的完整(但简单)示例,同时更新计数器 div:

<html>
<body>
    <div id="counter">5</div>
    <script>
        setInterval(function() 
            var div = document.querySelector("#counter");
            var count = div.textContent * 1 - 1;
            div.textContent = count;
            if (count <= 0) 
                window.location.replace("https://example.com");
            
        , 1000);
    </script>
</body>
</html>

counter div 的初始内容是等待的秒数。

【讨论】:

直到我将 location.href="https://example.com"; 替换为 window.location='https://example.com' 后才起作用 由于此处讨论的原因,使用window.location.replace("http://example.com"); 可能会更好:***.com/a/506004 更改将使此答案更加通用。 如果重定向目标响应缓慢(超过 1 秒),则多次调用 window.location.replace() 并且 X 秒 count 可能为负数。我修改了两行:div.textContent = ((count &lt; 0) ? 0 : count);if (count == 0)

以上是关于在指定时间后重定向网站的主要内容,如果未能解决你的问题,请参考以下文章

使用 facebook 登录网站后重定向页面

Firebase Google signInWithRedirect 未在成功验证后重定向到指定页面

具有 Spring 安全性的 JSF - 登录后重定向到指定页面

在 Paypal 中完成购买后重定向到原始站点

登录 WordPress 后重定向

CodeIgniter:动态登录后重定向?