使用HTML5历史API获取初始状态

时间:2017-05-07 01:03:39

标签: javascript html5 html5-history

我一直在搜索的所有内容都只是一个教程,如何使用pushStatereplaceStatehistory.state等等。这些概念很简单,但有一点是我'我想知道人们如何解决如何知道初始状态是什么。

假设您的SPA托管在https://example.com/en-us/myapp/。去那里,你的应用程序的主页已加载,点击左右,它会pushState看你到https://example.com/en-us/myapp/get/users。好的,现在您看到了一个用户列表,并且由于历史记录api,它不是一个实际的页面加载。

但现在让我们假装用户已将https://example.com/en-us/myapp/get/users状态加入书签,并在此网址上启动应用程序。好的,所以你的服务器会监听它并提供应用程序。我的问题是,您如何知道get/users是当前状态,您需要显示相关视图?您是否知道您的应用程序是在https://example.com/en-us/myapp/托管的,所以您可以获得之后知道的内容?

这样的事情:

function getState (uri) {
    return uri.match(/^https:\/{2}(?:w{3}\.)?example.com\/en-us\/myapp\/?(.*)/i)[1];
}

var state = getState(location.href);

如果state为假,则加载初始视图,否则处理状态并在state === 'get/users'时显示用户列表?

0 个答案:

没有答案