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