如何重定向到另一个网页?

  • 回答 (4)
  • 关注 (0)
  • 查看 (327)

如何使用jQuery或原生JavaScript将用户从一个页面重定向到另一个页面?

全球资讯翻译官全球资讯翻译官提问于
英特奈特见贤思齐修改于
推荐

简单功能不太推荐使用jQuery,推荐使用window.location.replace(...)模拟HTTP重定向。

window.location.replace(...)比使用window.location.href更好,因为replace()不会将原始页面保留在历史记录中,这意味着用户不会在进行后退操作时无限循环。

如果你想模拟某人点击一个链接,使用 location.href

如果您想模拟HTTP重定向,请使用 location.replace

例如:

// similar behavior as an HTTP redirect
window.location.replace("https://cloud.tencent.com");
// similar behavior as clicking on a link
window.location.href = "https://cloud.tencent.com";
应用案例分享回答于

这个答案只是提供了一个jQuery的解决方案; 这显然不是最好的。

相反,更喜欢纯粹的JavaScript解决方案。

$(location).attr('href', 'https://cloud.tencent.com')
帅的惊动我国计算机大神回答于

我也认为这location.replace(URL)是最好的方法,但如果你想让搜索引擎知道你重定向(百度不分析JavaScript代码来看重定向),应该添加rel="canonical"元标记到你的网站。

添加一个带有HTML标记的文本也是一个很好的解决方案。推荐使用这个JavaScript重定向工具来创建重定向。

示例代码如下:

<!-- 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="0;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/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http refere
    {
        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 -->
死者是小智回答于

如下是所有跳转方法的汇总:

// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explore
window.navigate('top.jsp')

// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';
// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')

扫码关注云+社区

领取腾讯云代金券