0
有可能获得浏览器历史列表?例如,如果我定位如下:page1 -> page2 -> page1 -> page5
,我希望能够得到的["page1", "page2", "page1", "page5"]
数组(如此有效history.pop()
应该给的goBack()
反应路由器getHistory
有可能获得浏览器历史列表?例如,如果我定位如下:page1 -> page2 -> page1 -> page5
,我希望能够得到的["page1", "page2", "page1", "page5"]
数组(如此有效history.pop()
应该给的goBack()
反应路由器getHistory
的URL有一个在浏览器中的任何History
对象没有这样的API定义或实施或history
library使用react-router
它会引起一些安全问题(考虑到跨域的情况)
但是,您可以侦听位置的变化并手动存储它们,它不会带来安全问题,因为操作都在单个域中限制:
history.listen((location, action) => {
console.log(action, location.pathname, location.state);
// you can store the result anywhere you like
const prevUrls = window.sessionStorage.getItem('prevUrls') || [];
prevUrls.push(location.pathname);
window.sessionStorage.setItem('prevUrls', prevUrls);
})
然后,您可以使用window.sessionStorage.getItem('prevUrls')
来获取历史记录列表。