【问题标题】:window.location redirect works, but original URL not showing up in browser historywindow.location 重定向有效,但原始 URL 未显示在浏览器历史记录中
【发布时间】:2012-07-22 03:45:33
【问题描述】:

下面的代码运行良好。这是我的问题:窗口 url 重定向,但原始 url 未记录在我的浏览器历史记录中。

例如,如果我访问“http://example.com/page1”,浏览器会重定向到“http://example.com/test”,这是应该的。但是,我需要访问的原始 URL(“http://example.com/page1”)显示在我的浏览器历史记录中,以便我可以在不同的函数中调用它。

在重定向之前是否可以获取访问的原始 url 以登录我的浏览器历史记录?

<!-- script to enable age verification cookies and ensure people have age checked -->
<script type="text/javascript">
    $(document).ready(function(){
       if (window.location =="http://example.com/home") {//do nothing
       } else {
           window.location = "http://example.com/test";
       }
    });
</script>

【问题讨论】:

  • 在更改位置之前将其保存在全局变量中怎么样?或者你可以window.open 目标为_self_top
  • 我可能会在哈希或查询字符串中传递它。
  • 抱歉,但是当谈到 jquery/javascript 时,我有点业余……我如何将它保存为全局变量或目标 window.open 作为 _self 或 _top?并且会在重定向之前使用这两种方法之一确保原始 url 保存在浏览器的历史记录中吗?非常感谢您帮助新手
  • @MrOBrian 我刚试过这个,但也没有用。由于某种原因,它不会将原始网址加载到浏览器的历史记录中......window.open('http://www.example.com/test','_self','', false);
  • 你在用什么浏览器?我刚刚在 Chrome 中测试并使用 window.open 在历史记录中留下了我的上一页。根据 Microsoft 文档,第 4 个参数是replace,因此将其设置为 false 应该会添加到 IE 中的历史记录(至少,也许是其他),并且在 Firefox 中进行快速测试也让我在执行 window.open 后返回/跨度>

标签: javascript jquery redirect browser-history window.location


【解决方案1】:

我认为你需要的是window.location.href。这会将之前的 URL 添加到浏览器历史记录中。

【讨论】:

  • 在别处读到,听起来好像设置window.location与设置window.location.href本质上是一样的。有记录的区别吗?
【解决方案2】:

我自己也遇到了这种行为,这是因为我通过文件系统将页面加载到 chrome 中,即使用 file:// 协议。我启动了一个 HTTP 服务器,并使用它来保存历史记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    相关资源
    最近更新 更多