查明最后一个站点是否与原点相同
find out if last site was same as origin
我在我的单页应用程序上使用自定义历史操作(history.pushState
)。当用户按下浏览器本机后退按钮时,网站不会重新加载(因此不会显示正确的内容)。我通过侦听一个 window.onpopstate
事件来解决这个问题,我只是重新运行启动脚本。
然而,这会导致用户卡在我的页面上,因为当他试图返回时,我只是重新加载页面,而不管他想去的页面是否与我的页面来源相同。我想要这样:
window.onpopstate = () => {
if (/*Site is same origin*/) load();
else {
//do Nothing
}
};
我该如何处理?
您可以使用 document.referrer
解决此问题,将其与您的域匹配,然后采取相应的措施。有关更多信息,请访问 MDN。
我在我的单页应用程序上使用自定义历史操作(history.pushState
)。当用户按下浏览器本机后退按钮时,网站不会重新加载(因此不会显示正确的内容)。我通过侦听一个 window.onpopstate
事件来解决这个问题,我只是重新运行启动脚本。
然而,这会导致用户卡在我的页面上,因为当他试图返回时,我只是重新加载页面,而不管他想去的页面是否与我的页面来源相同。我想要这样:
window.onpopstate = () => {
if (/*Site is same origin*/) load();
else {
//do Nothing
}
};
我该如何处理?
您可以使用 document.referrer
解决此问题,将其与您的域匹配,然后采取相应的措施。有关更多信息,请访问 MDN。