【问题标题】:How to get the previous page URL using JavaScript? [duplicate]如何使用 JavaScript 获取上一页 URL? [复制]
【发布时间】:2011-08-12 21:15:59
【问题描述】:

如何在 JavaScript 中获取上一页的 URL?

说,我从A页到B页,然后用浏览器的返回按钮回到A页。

我尝试使用history.previous,但无法使用。

【问题讨论】:

  • history.previous is a proprietary extension of Mozilla (and not available to web content)。无论如何,我认为这是不可能的,这将是一个巨大的安全问题。
  • 考虑一下......这可能不是一个巨大的安全问题,但我不希望 JavaScript 能够读取我的浏览器历史记录;)跨度>
  • 这是一个很大的安全问题,因为一些网站在查询字符串中放入了一些东西,即一些无 cookie 会话甚至身份验证技术
  • @Gaglad 我在这里遇到了同样的问题。如果我们点击back 按钮,document.referrer 就不是我们需要的了
  • 如果你不喜欢 document.referrer 那么也许你可以使用cookies?通过在所有脚本运行后设置为当前页面来跟踪上一页

标签: javascript


【解决方案1】:

您可以通过以下方式获取之前的网址。

var oldURL = document.referrer;
alert(oldURL);

【讨论】:

  • 我尝试了 document.referrer,但只有当我们在页面 B 中使用后退按钮时,它才会给出最后一页的 url,当我使用浏览器后退按钮时,我没有得到上一个 url - Gaglad
  • 这对我来说就像一个魅力。我需要知道上一页,以便我可以记录该页面并知道有人提供反馈的页面。谢谢!!
  • previous 不是推荐人
  • 只能获取上一个url的HOSTNAME
【解决方案2】:
<script type="text/javascript">
    document.write(document.referrer);
</script>

document.referrer 可以满足您的目的,但它不适用于 IE9 之前的 Internet Explorer 版本。

它适用于其他流行的浏览器,如 Chrome、Mozilla、Opera、Safari 等。

【讨论】:

    【解决方案3】:

    您希望在页面 A 中知道页面 B 的 URL?

    或者在页面 B 中知道页面 A 的 URL?

    在页面 B 中:document.referrer(如果已设置)。如这里所示:How to get the previous URL in JavaScript?

    在页面 A 中,您需要读取在页面 B 中设置的 cookie 或 local/sessionStorage,假设域相同

    【讨论】:

    • 我试过 document.referrer,但只有当我们在页面 B 中使用后退按钮时,它才会给出最后一页的 url,当我使用浏览器后退按钮时,我没有得到上一个 url - Gaglad
    • @rv_k 您不清楚“以前的”网址是什么意思。如果您使用后退按钮,当您单击它时,您无法在您转到的页面中分辨出您来自哪里。没有办法。
    • 我在页面 A 到 B 中有一个链接,从页面 B 到页面 A 的唯一可能方法是使用浏览器后退按钮,如果是这样,我必须执行脚本。所以我必须检查上一页的 url 以检查其页面 B. - Gaglad
    • 所以在页面A中你需要查看用户是否从B回来。只能知道你是否去过B,而不是你访问的上一个页面是否是B。你可能想要考虑框架集或使用 location.replace("b.html") 从历史记录中删除 A 如果这是您的需要
    • 所以你需要在页面B中设置一个cookie来告诉页面A它已经被访问过。在我看来,别无他法——也许你可以测试 B 链接的“已访问”状态
    猜你喜欢
    • 2016-05-20
    • 2015-03-17
    • 1970-01-01
    • 2014-04-26
    • 2012-07-19
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    相关资源
    最近更新 更多