我正在单页应用程序上使用自定义历史记录操作(使用history.pushState
)。当用户按下浏览器的本机后退按钮时,该站点不会重新加载(因此不会显示正确的内容)。我通过侦听window.onpopstate
事件来解决此问题,在该事件中,Id仅重新运行了初始化脚本。
但是,这会导致用户卡在我的页面上,因为当他尝试返回时,我只是重新加载页面,而无法保护他要访问的页面是否与我的页面相同。我想要这样:
window.onpopstate = () => {
if (/*Site is same origin*/) load();
else {
//do Nothing
}
};
我该如何批准?