【问题标题】:Redirect to another page without loading current page in jquery重定向到另一个页面而不在 jquery 中加载当前页面
【发布时间】:2016-01-20 01:47:07
【问题描述】:

我想从 1 个页面重定向到另一个页面,而不使用 javascript/jquery 显示该页面的内容。

例如,我将输入或从搜索引擎进入我网站上的页面www.mysite.com/aaa/,我应该被重定向到www.mysite.com/bbb/,而不显示www.mysite.com/aaa/ 的内容。

服务器端是 asp.net,我可以使用 Response.Redirect 执行此操作,但我不想更改代码。

据我所知,我不能使用document.readywindow.load,因为两者都会在重定向之前在浏览器中加载页面内容。

我不知道有任何其他事情可以帮助我实现这一目标。努力搜索,但找不到任何有用的东西。

我得到了一些东西here。我可以在标题中包含此内容,但可能无法在标题的顶部。加上答案看起来不是很有说服力。但是,可以尝试一下,并根据结果更新此问题。

请帮忙!

提前致谢!

【问题讨论】:

  • 你无法真正停止这个客户端。在运行任何 JS 代码之前,响应将在服务器上生成并发送到客户端。这意味着 HTML 将在 JavaScript 中通过window.location 执行任何重定向之前显示。如果你想要这种行为,你别无选择,只能在服务器端进行。

标签: javascript jquery asp.net redirect


【解决方案1】:

当 Web 浏览器引擎读取 HTML 文档并识别 script 元素时,它会立即调用 JavaScript 解释器并执行代码。因此,如果您的文档以从页面重定向的 JavaScript 开头,则不应向客户端显示剩余的文档。像这样的东西可以工作:

<!DOCTYPE html>
<html>
  <head> 
    <script type='text/javascript'>
        //using "replace" removes the current page from browser history
        location.replace('page_b.html');
    </script>

此外,如果当前页面上的某些内容在重定向过程中不应显示给客户端 - 您可以注入一些额外的 CSS,例如

<style type='text/css'>
   body {display:none}
</style>

【讨论】:

  • 解释得很好!试过这个,它似乎工作。需要一些测试,但测试人员和客户应该可以接受。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-23
  • 2020-06-15
相关资源
最近更新 更多