使用 $location 手动更改 URL 时保留上一页
Preserve previous page when URL is changed manually with $location
我的控制器中有一个更改浏览器 URL 的函数,但是当用户单击后退按钮时,我需要保留真实的上一页。
例如:
用户位于/home 中并导航到/article1。当用户在页面中滚动时,我会使用以下方法更改 URL,例如更改为/article2:
$location.path('article2');
但是,如果用户按下留在/article2 中的后退浏览器按钮,则 url 将更改为/article1,我真的需要将导航重定向到/home。
我使用了以下代码:
var previousPage = document.referrer; // Get the previous location on page load
history.pushState({}, '', previousPage); // Alter the history adding the previous page
但它不起作用,因为在使用 $location 更改 url 时,历史记录状态会自动更改。
如何保留导航?
你可以这样使用
window.onpopstate = () => history.replaceState(history.state, 'gotohome', '/')
它将起作用,但是,我如何在不使用window.onpopstate的情况下更改上一页的URL,如果有人知道,请帮助我
您还可以在本地存储上一页以返回。我有一个应用程序,它有一个后退按钮,允许您返回您导航的页面。尝试这样的事情:
sessionStorage.previousPage = "mypage";
function goBack(){
$location.path(sessionStorage.previousPage);
};
相关文章:
- 获取/保留上一页's具有SmoothState的URL
- 如何在从剃刀视图移动内联JavaScript时保留相对URL
- php get_contents-保留源文件的原始url
- 更改URL并保留“更改”事件下拉列表中的值
- 如果可能的话,刷新后保留iframe url
- 通过 CAS 登录保留 URL 片段
- 缩短 URL 以保留开头和结尾(Firebug “Net” 面板样式)
- 使用 $location 手动更改 URL 时保留上一页
- 传递url时保留原始反斜杠的问题
- goBack按钮,同时使用react路由器保留url状态
- 防止浏览器在重新加载父级时保留iframe url
- 如何在使用 GET 方法发送 url 时保留文本区域输入中的文本段落
- 如何执行Javascript重定向url与保留url参数
- 先前的状态视图不会保留在带有自定义模态url的打开UI引导模态的后台
- 在访问Angular 2应用的路由时,如何在URL中保留查询字符串参数
- 使用jQuery筛选复选框-保留URL中的选择
- 删除url的部分,只保留文件名
- 如何在跟踪链接时保留URL查询参数
- 当我推送一个新的URL到主干.历史记录,查询参数保留
- Javascript代码检查URL内容,只保留一件事