javascript - 查明最后一个站点是否与原点相同
问题描述
我在我的单页应用程序上使用自定义历史操作(使用history.pushState
)。当用户按下浏览器本机后退按钮时,网站不会重新加载(因此不会显示正确的内容)。我通过侦听window.onpopstate
Id 刚刚重新运行启动脚本的事件来解决此问题。
然而,这会导致用户卡在我的页面上,因为当他试图返回时,我只是重新加载页面,忽略他想要访问的页面是否与我的页面相同。我想有点像这样:
window.onpopstate = () => {
if (/*Site is same origin*/) load();
else {
//do Nothing
}
};
我将如何处理这个?
解决方案
您可以使用 来解决此问题document.referrer
,将其与您的域匹配,然后采取相应的措施。更多关于这在MDN。
推荐阅读
- c# - 如何在c#中将xml数据作为内容传递给HttpClient
- php - Laravel 复选框未根据数据数据库值进行检查
- html - 有没有办法删除 Hugo Academic 中特定页面的边距/填充?
- javascript - SyntaxError : Missing : 在属性 id 之后
- sql - 无法在现有表的主键上创建约束、索引或外键
- python - 如何在python中将一个键对值从一个字典复制到另一个字典
- python-3.x - 无法在 http://127.0.0.1:8000/ 或外部 IP 上连接到我的简单 Http 服务器
- sql-server - Inner-Join 查询在 sqlserver 2012 上没有返回任何数据
- ruby-on-rails - 如何在 Rails 中使用 proc 进行验证
- vba - 如何从 Recordset ADO 中的 csv 获取特定列