Javascript history.pushState和history.back逻辑错误

Javascript history.pushState和history.back逻辑错误,javascript,Javascript,我有一个单页网站,它有一个加载不同“页面”内容的模式。当模态加载时,它还会将url更改为类似于:domain.tld/#/specific model页面的内容。模态还具有一个取消按钮,人们可以单击该按钮关闭模态 我的历史记录.pushState(…)逻辑有问题 在初始页面上,我没有做任何与历史变量相关的事情 如果用户单击某个打开模式的内容,我认为应该使用history.pushState(…),然后如果用户关闭它,则使用history.back() 在我开始通过直接加载domain.tld/#

我有一个单页网站,它有一个加载不同“页面”内容的模式。当模态加载时,它还会将url更改为类似于:domain.tld/#/specific model页面的内容。模态还具有一个取消按钮,人们可以单击该按钮关闭模态

我的
历史记录.pushState(…)
逻辑有问题

在初始页面上,我没有做任何与历史变量相关的事情

如果用户单击某个打开模式的内容,我认为应该使用
history.pushState(…)
,然后如果用户关闭它,则使用
history.back()

在我开始通过直接加载domain.tld/#/特定模式页面来测试网页之前,这对我来说很有效。从这个页面,如果我试图按下取消按钮,它将保持不变,并保持模式打开。我猜是因为没有一页可以返回


我的逻辑有什么缺陷?我应该如何处理这个问题?

您所说的“直接加载domain.tld/#/…”是什么意思?你的意思是在浏览器中输入准确的url,然后按enter键?顺便问一下,这是一个什么样的单页网站,ReactJS还是其他?@faithfull,是的,就像有人与其他人共享链接,以便能够直接加载特定内容一样。单个网页是用香草JavaScript构建的。我从来没有做过完整的香草网页,但我认为如果你想保持相同的功能,你必须以不同的方式处理历史。