在js中实现页面跳转
使用 window.location.href
通过修改 window.location.href 属性实现跳转,浏览器会加载新页面并记录到历史记录中:
window.location.href = 'https://example.com';
使用 window.location.replace
跳转但不保留当前页面的历史记录,用户无法通过“后退”返回原页面:
window.location.replace('https://example.com');
使用 window.location.assign
与 href 类似,但以方法形式调用,同样会保留历史记录:
window.location.assign('https://example.com');
使用 window.open
在新标签页或窗口中打开页面,可通过参数控制行为:
window.open('https://example.com', '_blank'); // 新标签页
window.open('https://example.com', '_self'); // 当前标签页
使用 HTML <a> 标签模拟
动态创建 <a> 标签并触发点击,适合需要模拟用户交互的场景:
const link = document.createElement('a');
link.href = 'https://example.com';
link.target = '_blank'; // 可选
link.click();
使用 history.pushState 或 replaceState
适用于单页应用(SPA),仅更新URL而不刷新页面,需配合路由库使用:

history.pushState({}, '', '/new-path'); // 添加历史记录
history.replaceState({}, '', '/new-path'); // 替换当前记录
注意事项
- 跳转前可检查
confirm()或异步操作:if (confirm('确认跳转?')) { window.location.href = 'https://example.com'; } - 部分浏览器可能拦截
window.open,需确保由用户触发(如点击事件)。






