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

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

【问题讨论】:

  • 我很好奇,你为什么要这样做?每次我访问这样的页面,我宁愿在 0 秒内被引导。
  • @allesklar 抱歉回复晚了。我正在开发一个网站,我想看看是否可以更轻松地从代码编辑器切换到网络浏览器,而无需每次都刷新。
  • 这个JS redirect 生成器将帮助您轻松创建延迟重定向sn-ps。它有一个 noscript 和 seo 支持,还有一个 IE 8 - 和更低的 - 修复来传递 http 引用!
  • @allesklar 是使用此功能的一个示例。如果您更改域并希望每个人在第一个月被重定向到新域(但让他们知道旧域将在一个月左右后被删除)。因为即使您发送和发送电子邮件,也总会有人忘记并转到旧域。

标签: html redirect


【解决方案1】:
<meta http-equiv="refresh" content="3;url=http://www.google.com/" />

【讨论】:

【解决方案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"); 可能会更好:stackoverflow.com/a/506004 更改将使此答案更加通用。
        • 如果重定向目标响应缓慢(超过 1 秒),则多次调用 window.location.replace() 并且 X 秒 count 可能为负数。我修改了两行:div.textContent = ((count &lt; 0) ? 0 : count);if (count == 0) {
        猜你喜欢
        • 2011-11-08
        • 1970-01-01
        • 2013-05-29
        • 2016-08-24
        • 2012-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-10
        相关资源
        最近更新 更多