如何使用JavaScript获取包含哈希片段的先前url

How to get previous url including hash fragment using JavaScript?

本文关键字:url 片段 何使用 JavaScript 获取 包含哈      更新时间:2024-01-17

我需要获取上一个url以重定向到上一页。我有类似www.mysite.com/users/register/#1的url。

我使用document.referrer来获取上一个url,但它不会返回哈希部分#1)。如何获取包含哈希部分的上一个url?

如何使用JavaScript获取包含哈希片段的前一个url?

正如您所指出的,其中的散列片段部分意味着您不能使用document.referrer

如果上一个页面位于同一原点:您需要在该页面上有记录完整URL的代码,例如sessionStorage

在上一页中,可能每次触发hashChange时:

sessionStorage.setItem("last-url", location);

在新页面上,要获取URL:

var lastUrl = sessionStorage.getItem("last-url");

如果上一页来自不同的来源:我很确定你不能。

我需要获取上一个url来重定向到上一个页面。

事实上,你没有。您只需使用history.go(-1)history.back()即可完成此操作,无论上一页的来源如何,它们都能正常工作。

您可以使用onhashchange事件。当url被更改时,它会生成一个具有旧url和新url的事件。oldurl甚至有散列部分

尝试以前的url,

    function backtopage() {
    window.history.back();
}
$(window).bind('statechange',function(){
    // Prepare Variables
    var State = History.getState(),
        url = State.url,
        states = History.savedStates,
        prevUrlIndex = states.length - 2,
        prevUrl = states[prevUrlIndex].hash;
});

Try this one::
In previous page url:
www.mysite.com/users/register/#1
In Current Page:
$(document).ready(function() {
   var referrerUrl =   document.referrer.replace("#","e");
   var correctUrl=referrerUrl.replace("e","#");
});