如何使用JavaScript获取包含散列片段的先前url?

时间:2016-04-06 10:10:00

标签: javascript

我需要将之前的网址重定向到上一页。我的网址是www.mysite.com/users/register/#1

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

5 个答案:

答案 0 :(得分:7)

  

如何使用JavaScript获取以前的网址包括哈希片段

正如您所指出的,哈希片段部分意味着您无法使用document.referrer

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

在上一页上,也许每次hashChange被触发:

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

在新页面上,获取网址:

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

如果上一页位于不同的来源:我相当肯定你不能。

  

我需要将之前的网址重定向到上一页。

实际上,你不是。您只需use history.go(-1) or history.back()就可以执行此操作,无论上一页的来源如何,都可以正常工作。

答案 1 :(得分:1)

尝试上一个网址,

    function backtopage() {

    window.history.back();
}

答案 2 :(得分:1)

可能是你可以使用onhashchange事件。 更改网址时,会生成包含旧网址和新网址的事件。 oldurl甚至还有哈希部分

答案 3 :(得分:0)

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

答案 4 :(得分:-1)

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","#");
});