时间延迟重定向?

IT技术 javascript jquery html
2021-03-13 01:03:37

我有一个网站,它在我的 HTML 中滑动到一个名为 blog 的“部分”。我希望用户只看到页面一两秒,然后重定向到我的博客引擎。

请建议一个延时重定向?

如果我可以根据博客 li 的点击延迟重定向:

<li data-target="blog" data-target-activation="click" class="tile icon_add_favourite">
          <div>
            <h2>Blog</h2><h3>13</h3>
                <script type="text/JavaScript">
                &lt;!--
                    setTimeout("location.href = 'http://www.mysite.co.uk/blog';", 1500);
                --&gt;
                </script>
          </div>
        </li>

更新:当 HTML5 滑动到部分块时,这太奇怪了,页面仍在使用所有代码呈现,因此 JS 应该由点击事件触发,然后根据计时器运行重定向。

当警报框弹出时,解决方案在 JS 中起作用。想知道为什么它们在我的页面中不起作用?

6个回答

编辑:

我面临的问题是 HTML5 都在一个索引页上。所以我需要计时器在点击博客链接时开始。

尝试在博客链接上的点击处理程序中调用 setTimeout,

$('#blogLink').click (function (e) {
   e.preventDefault(); //will stop the link href to call the blog page

   setTimeout(function () {
       window.location.href = "blog.html"; //will redirect to your blog page (an ex: blog.html)
    }, 2000); //will call the function after 2 secs.

});

尝试使用setTimeout如下功能,

setTimeout(function () {
   window.location.href = "blog.html"; //will redirect to your blog page (an ex: blog.html)
}, 2000); //will call the function after 2 secs.
检查编辑...从技术上讲,它不是 HTML5 中的链接,是吗?
2021-04-17 01:03:37
@sp-1986 只需将blogLinkID添加li. 也更改...href="blog.html"...href="http://www.mysite.co.uk/blog"
2021-04-19 01:03:37
我面临的问题是 HTML5 都在一个索引页上。所以我需要计时器在点击博客链接时开始。
2021-04-29 01:03:37
@sp-1986 看到我更新的答案,它会在点击博客链接后调用 setTimeout 函数,并在 2 秒后调用博客页面。
2021-05-01 01:03:37
<meta http-equiv="refresh" content="2; url=http://example.com/" />

2是以秒为单位的延迟。

哇,我不知道这可以用原生 HTML 实现。好的!
2021-04-25 01:03:37
+1 对于甚至不需要启用 javascript 的解决方案。
2021-04-26 01:03:37
我面临的问题是 HTML5 都在一个索引页上。所以我需要计时器在点击博客链接时开始。
2021-04-26 01:03:37
只是想指出 W3C 已弃用元刷新:en.wikipedia.org/wiki/Meta_refresh应改用使用 JS 的已接受答案中的解决方案。
2021-05-10 01:03:37
 <script type="text/JavaScript">
      setTimeout("location.href = 'http://www.your_site.com';",1500);
 </script>

您可以使用 JavaScript 轻松创建定时重定向。但我建议你使用location.replace('url')而不是location.href它可以防止浏览器将站点推送到历史记录中。我找到了这个 JavaScript 重定向工具。我想你可以用这个。

示例代码(延迟 5 秒):

<!-- 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://yourdomain.com/"/>
<noscript>
    <meta http-equiv="refresh" content="5;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://yourdomain.com/";
    var delay = "5000";
    window.onload = function ()
    {
        setTimeout(GoToURL, delay);
    }
    function GoToURL()
    {
        if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
        {
            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 -->
@shaneonabike 我不好,我刚刚更新以使其正常工作。
2021-04-18 01:03:37
嗯,我找不到 XDomainRequest :/
2021-05-13 01:03:37

当您滑到名为博客的“部分”时,请在某处包含此代码。

$("#myLink").click(function() {
    setTimeout(function() {
        window.navigate("the url of the page you want to navigate back to");
    }, 2000);
});

myLink你的href的id在哪里

我面临的问题是 HTML5 都在一个索引页上。所以我需要计时器在点击博客链接时开始。
2021-04-19 01:03:37
我很确定 jsfiddle 会阻止尝试重定向页面。首先尝试使用简单的测试alert另外,看起来您选择了 Mootools 而不是 jQuery?
2021-04-26 01:03:37
啊好吧。编辑以反映。编辑:@ sp-1986,试试我新编辑的答案大小。
2021-05-03 01:03:37
只要您的 LI 具有 id 'myLink',它就可以正常工作。您可以将 ID 设置为任何您想要的;只需确保您也更改了上述代码中的 ID。
2021-05-07 01:03:37
埃利奥特我的朋友,我添加了一个编辑。我不知道点击事件是否适用于 LI?
2021-05-08 01:03:37