Avatar ·

如何在不重新加载页面的情况下更改浏览器地址栏中的URL?

大家好!我是一名初级前端开发者,遇到了一个问题。 我有一个用纯JavaScript编写的单页应用(SPA)。用户点击链接时,页面内容会动态变化(通过fetch或简单的隐藏/显示区块)。一切运行良好,但有一个大问题:浏览器地址栏中的地址保持不变。 例如,用户点击了“关于公司”,内容加载了,但URL仍然是`https://mysite.com/`。因此: 1. 浏览器的“后退”按钮不起作用——它会直接跳转到上一个网站,而不是我应用中的上一个“页面”。 2. 无法将特定部分的链接发送给朋友——他们总是看到主页。 我尝试过更改`window.location.href`,但这会导致页面完全重新加载,包括所有样式和脚本。 以下是我的代码示例: ```javascript // 糟糕的方法——重新加载页面 function goToAbout() { window.location.href = '/about'; } // 好的方法