在单页面Web应用程序上添加/删除历史记录状态

时间:2016-02-17 01:38:12

标签: javascript web-deployment single-page-application

我有一个页面Web应用程序(包含A,B,C视图),它附加在网站内。要求是当用户处于单个网页应用程序的B视图中时,他们应该能够复制URL,当我们在另一个屏幕中打开该URL时,单页面Web应用程序应该设置B视图。 为此,我在B视图上使用window.pushstate将ID附加到URL,我需要在A和C视图中删除该状态。

首先,我不确定这是正确的还是最佳实践方法。我想知道你对如何做的建议。

其次,如何删除A和C视图中的状态?

第三,如果网址上存在ID,我不知道何时以及如何在单页应用上调用window.popstate来设置B视图。

1 个答案:

答案 0 :(得分:1)

在开始之前,我假设你的路线结构如下:

xyz.com/:id

加载页面时,解析网址并获取ID。根据id,渲染相应的模板并将其附加到页面。

此外,如果您使用库来管理状态,那将非常有用。 我用这个:

https://visionmedia.github.io/page.js/