我需要将之前的网址重定向到上一页。我的网址是www.mysite.com/users/register/#1
。
我使用document.referrer
获取上一个网址,但它不会返回哈希部分(#1
)。如何获取包含哈希部分的上一个URL?
答案 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","#");
});