如何使用JavaScript获取包含哈希片段的先前url
How to get previous url including hash fragment using JavaScript?
我需要获取上一个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","#");
});
相关文章:
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- Java脚本访问Location标头's OAuth 2的URL片段
- Javascript:如何从URL中抓取片段并将其写入一些PHP
- 阻止Backbone.history.navigation解码URL片段
- 如何使用JavaScript获取包含哈希片段的先前url
- 有没有任何方法可以在单页应用程序中记录url和哈希片段
- 使用 URL 片段来确定运行哪个 jquery 函数
- 为什么 Angular 将 URL 片段 #foo 重写为 #/foo 以及如何避免这种情况
- 通过 CAS 登录保留 URL 片段
- Safari 将 URL # 片段合并到其浏览器缓存中
- 获取URL#片段XMLHttpRequest
- 如何模拟遗留url片段=>元素's的名称映射
- 使用聚合物核心页,根据url #片段选择正确的页面
- 检查URL片段中的关键字
- 与Ember.js和Ecwid的URL片段(#)冲突
- URL片段和BASE标记
- 页面加载时正在读取URL片段
- 查找与URL片段的第一部分匹配的正则表达式
- 的位置.用url片段替换不一致的部分
- Angular js -替换url片段/片段而不刷新