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')
來獲取歷史記錄列表。