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

这篇具有很好参考价值的文章主要介绍了如何重定向到另一个网页?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:

这个问题的答案是社区的努力。编辑现有答案以改进这篇文章。它目前不接受新的答案或交互。

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

解决方案1:

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

一个不是简单地使用 jQuery 重定向

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("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

注意:与 replace() 的 HTTP 重定向类似的行为意味着它不会在浏览器的历史记录中创建条目。

我在 5 年前看到你的回答后创建了这个imgflip.com/i/11ua9c

如果您仅显示页面以进行重定向,则 location.replace() 可能更合适(从历史记录中排除具有重定向的页面)。但是为什么不首先在服务器端进行重定向呢?

如果有人仍然对您应用的所有出色答案但页面重定向无效,请访问:stackoverflow.com/questions/15759020/… 它适用于我的情况。

@x-yuri 我的用例是 URI 片段(在 # 符号之后)不会通过服务器端重定向保留,因为它们没有发送到服务器。

解决方案2:

huntsbot.com – 高效赚钱,自由工作

警告:此答案仅作为一种可能的解决方案提供;这显然不是最好的解决方案,因为它需要 jQuery。相反,更喜欢纯 JavaScript 解决方案。

$(location).prop('href', 'http://stackoverflow.com')

解决方案3:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

重定向页面的标准“香草”JavaScript 方式

window.location.href = 'newPage.html';

或更简单地说:(因为窗口是全局的)

location.href = 'newPage.html';

如果您在这里是因为在重定向时丢失了 HTTP_REFERER,请继续阅读:(否则忽略最后一部分)

以下部分适用于使用 HTTP_REFERER 作为许多安全措施之一的人(尽管它不是一个很好的保护措施)。如果您使用 Internet Explorer 8 或更低版本,则在使用任何形式的 JavaScript 页面重定向(location.href 等)时,这些变量会丢失。

下面我们将为 IE8 & 实现一个替代方案。降低,这样我们就不会丢失 HTTP_REFERER。否则,您几乎总是可以简单地使用 window.location.href。

针对 HTTP_REFERER 进行测试(网址粘贴、会话等)可以帮助判断请求是否合法。 (注意:还有一些方法可以解决/欺骗这些引荐来源网址,正如评论中 droop 的链接所指出的那样)

简单的跨浏览器测试解决方案(回退到 Internet Explorer 9+ 和所有其他浏览器的 window.location.href)

用法:redirect(‘anotherpage.aspx’);

function redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
    else { 
        window.location.href = url; 
    }
}

解决方案4:

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

有很多方法可以做到这一点。

// 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 Explorer
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')

解决方案5:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

这适用于每个浏览器:

window.location.href = 'your_url';

解决方案6:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

如果您对您正在尝试做的事情更具描述性,那将会有所帮助。如果您尝试生成分页数据,则可以选择一些方法来执行此操作。您可以为希望能够直接访问的每个页面生成单独的链接。

1
2
3
...

请注意,示例中的当前页面在代码和 CSS 中的处理方式不同。

如果您希望通过 AJAX 更改分页数据,这就是 jQuery 的用武之地。您要做的是将单击处理程序添加到对应于不同页面的每个锚标记。此单击处理程序将调用一些 jQuery 代码,该代码通过 AJAX 获取下一页并使用新数据更新表。下面的示例假设您有一个返回新页面数据的 Web 服务。

$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});

解决方案7:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

我也认为 location.replace(URL) 是最好的方法,但如果您想通知搜索引擎您的重定向(他们不会分析 JavaScript 代码来查看重定向),您应该将 rel=“canonical” 元标记添加到您的网站。

添加一个带有 HTML 刷新元标记的 noscript 部分也是一个很好的解决方案。我建议您使用此 JavaScript redirection tool 创建重定向。它还具有 Internet 浏览器支持以传递 HTTP 引荐来源网址。

没有延迟的示例代码如下所示:










    <meta http-equiv="refresh" content="0;URL=https://yourdomain.example/">



    var url = "https://yourdomain.example/";
    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




这不再是真的:搜索引擎不分析 Javascript

这对我来说似乎是最可靠的方法。

解决方案8:

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

但是如果有人想重定向回主页,那么他可以使用以下代码段。

window.location = window.location.host

如果您拥有三个不同的环境(开发、登台和生产),那将会很有帮助。

您只需将这些词放在 Chrome 控制台或 Firebug 的控制台中即可探索此 window 或 window.location 对象。

解决方案9:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

JavaScript 为您提供了许多方法来检索和更改显示在浏览器地址栏中的当前 URL。所有这些方法都使用 Location 对象,它是 Window 对象的一个属性。您可以创建一个具有当前 URL 的新 Location 对象,如下所示。

var currentLocation = window.location;

URL的基本结构

//:/

https://i.stack.imgur.com/4kiBE.jpg

协议——指定用于访问 Internet 上的资源的协议名称。 (HTTP(不带 SSL)或 HTTPS(带 SSL))主机名——主机名指定拥有资源的主机。例如,www.stackoverflow.com。服务器使用主机名提供服务。 port – 一个端口号,用于识别 Internet 或其他网络消息到达服务器时要转发到的特定进程。路径名——路径提供有关 Web 客户端想要访问的主机中的特定资源的信息。例如,stackoverflow.com/index.html。查询——查询字符串跟随路径组件,并提供资源可用于某些目的的信息字符串(例如,作为搜索的参数或作为要处理的数据)。 hash – URL 的锚点部分,包括井号 (#)。

使用这些 Location 对象属性,您可以访问所有这些 URL 组件

hash - 设置或返回 URL 的锚点部分。 host - 设置或返回 URL 的主机名和端口。主机名 - 设置或返回 URL 的主机名。 href - 设置或返回整个 URL。 pathname - 设置或返回 URL 的路径名。 port - 设置或返回服务器用于 URL 的端口号。协议 - 设置或返回 URL 的协议。 search - 设置或返回 URL 的查询部分

现在,如果您想更改页面或将用户重定向到其他页面,您可以像这样使用 Location 对象的 href 属性

您可以使用 Location 对象的 href 属性。

window.location.href = "http://www.stackoverflow.com";

Location Object 也有这三个方法

assign() – 加载一个新文档。 reload() – 重新加载当前文档。 replace() – 用新文档替换当前文档

您还可以使用 assign() 和 replace 方法重定向到其他页面,例如这些

location.assign("http://www.stackoverflow.com");

location.replace("http://www.stackoverflow.com");

assign() 和 replace() 有何不同 – replace() 方法和 assign() 方法() 的区别在于 replace() 从文档历史记录中删除当前文档的 URL,意味着不能使用“返回”按钮导航回原始文档。因此,如果您想加载一个新文档,并希望提供导航回原始文档的选项,请使用 assign() 方法。

您也可以像这样使用 jQuery 更改位置对象 href 属性

$(location).attr('href',url);

因此,您可以将用户重定向到其他一些 url。

解决方案10:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

基本上 jQuery 只是一个 JavaScript 框架,在这种情况下,为了做一些事情,比如重定向,你可以只使用纯 JavaScript,所以在这种情况下,你有 3 个使用 vanilla JavaScript 的选项:

1)使用位置替换,这将替换页面的当前历史记录,意味着无法使用返回按钮返回到原始页面。

window.location.replace("http://stackoverflow.com");

2)使用位置分配,这将为您保留历史记录,使用后退按钮,您可以返回原始页面:

window.location.assign("http://stackoverflow.com");

3)我建议使用之前的方法之一,但这可能是使用纯 JavaScript 的第三个选项:

window.location.href="http://stackoverflow.com";

您也可以在 jQuery 中编写一个函数来处理它,但不推荐,因为它只有一行纯 JavaScript 函数,如果您已经在窗口范围内,您也可以在没有窗口的情况下使用上述所有函数,例如 window.location.replace(“http://stackoverflow.com”); 可以是location.replace(“http://stackoverflow.com”);

我也将它们全部显示在下图中:

https://i.stack.imgur.com/ODheM.jpg

解决方案11:

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

应该可以使用 window.location 进行设置。

例子:

window.location = "https://stackoverflow.com/";

这是过去有关该主题的帖子:How do I redirect to another webpage?

原文链接:https://www.huntsbot.com/qa/la05/how-do-i-redirect-to-another-webpage?lang=zh_CN

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!文章来源地址https://www.toymoban.com/news/detail-458414.html

到了这里,关于如何重定向到另一个网页?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何将 ASP.NET Core MVC 项目的视图分离到另一个项目

    在当下这个年代 SPA 已是主流,人们早已忘记了 MVC 以及 Razor 的故事。但是在某些场景下 SSR 还是有意想不到效果。比如某些静态页面,比如追求首屏加载速度的时候。最近在项目中回归传统效果还是不错。 有的时候我们希望将视图(Views)从主项目中分离出来,以提高项目的

    2024年04月22日
    浏览(51)
  • 【Linux】文件的描述符和重定向

    C语言的文件读写操作 文件写入 fputs int fputs(const char *s, FILE *stream); s:要写入的字符串 stream:要写入对应的目标文件 文件输出(只可以在文件读的环境下运行 r) fgets char *fgets(char *s, int size, FILE *stream); s:要保存到的目标位置 size:输出多少字节 stream:输出的目标文件 文件写

    2024年02月12日
    浏览(39)
  • 【Linux】文件描述符与重定向操作

    收录于【Linux】文件系统 专栏 对于Linux下文件的写入与读取,以及文件原理还有疑惑的可以看看上一篇文章浅谈文件原理与操作。 目录 系列文章 再谈文件描述符 IO函数的本质 一切皆文件 文件重定向 原理 系统接口 🍧上一篇文章中,我们就提到了 open 的返回值即 fd ,又称

    2024年02月09日
    浏览(32)
  • Linux中的文件描述符和重定向

    文件描述符概念 我们在使用系统调用进行文件操作的时候 这里的open返回值就是一个文件描述符简称fd。 文件描述符其实就是一个从3开始的小整数,文件描述符是小整数的原因是因为文件描述符实际是文件描述符表这个数组的下标。 为什么从3开始,是因为系统默认打开了三

    2023年04月10日
    浏览(24)
  • Linux学习之系统默认打开的文件描述符、重定向

    一个进程默认会打开标准输入、标准输出、错误输出三个文件描述符。可以在 /proc/PID/fd 里边可以看到打开文件的描述符,PID需要改成具体的 pid ,比如可以使用 A终端 输入 vim proctest 之后按下回车键。 打开一个vim编辑窗口。 再打开一个 B终端 ,输入 ps -aux | grep \\\'vim\\\' 查找一下

    2024年02月13日
    浏览(31)
  • 【Linux】基础IO_文件描述符与重定向

    环境:centos7.6,腾讯云服务器 Linux文章都放在了专栏:【 Linux 】欢迎支持订阅 相关文章推荐: 【Linux】冯.诺依曼体系结构与操作系统 【C/进阶】如何对文件进行读写(含二进制)操作? 【Linux】基础IO_文件操作 在前文中学习了open函数,我们知道 open函数的返回值就是文件描

    2024年02月03日
    浏览(64)
  • iphone怎么传数据到另一个手机,苹果如何转移数据到新手机,两台iphone怎么同步所有数据

    换新手机后,需要迁移旧苹果手机的数据到新苹果手机里面,那么, iphone怎么传数据到另一个手机? 本篇文章带您深度了解苹果手机的数据传输技巧。 苹果手机如何数据传输?我记得之前换 iPhone都是将所有的App重新安装一遍,把照片备份到电脑,再通过电脑迁移到新iPhon

    2024年02月04日
    浏览(44)
  • 【Linux】基础IO(一) :文件描述符,文件流指针,重定向

    🍎 作者: 阿润菜菜 📖 专栏: Linux系统编程 是不是只有C/C++有文件操作呢?python、java、go等文件接口操作的方法是不太一样的,那如何理解这种现象?有没有统一的视角去看待所有的语言文件操作呢?—我们今天从系统视角去理解 ---- 实际都是通过系统调用来访问 文件=内

    2024年01月18日
    浏览(39)
  • <Linux> 基础IO(文件操作、文件描述符fd、重定向)

    1、空文件也要在磁盘占用 我们创建的文件,虽然里面并没有存放数据,但是文件属性也是数据,即便你创建一个空文件,也要占据磁盘空间 2、文件 = 文件内容 + 文件属性 文件内容就是真正写入的内容,文件属性就是文件名、文件大小、文件的权限、拥有者所属组…… 3、文

    2024年02月03日
    浏览(36)
  • 【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向

    作者:დ旧言~ 座右铭:松树千年终是朽,槿花一日自为荣。 目标:了解在Linux下的系统文件IO,知道什么是文件描述符,什么是重定向 毒鸡汤:白日莫闲过,青春不再来。 专栏选自:Linux初阶 望小伙伴们点赞👍收藏✨加关注哟💕💕 最早我们在C语言中学习关于如何用代码

    2024年04月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包