需求
网站有管理员端和用户端,需要点击跳转按钮时打开另一个Tab,但是不希望 Tab 开端太多。
从一个页面调转到另一个页面很简单,但是从那个页面回到当前页面就不容易。你可能想使用 window.opener.focus()
来重新回到打开的那个页面,但这是无效的。
实现方法
为当前tab设置一个唯一的 window.name
,然后在 window.open()
的第二个参数中传入这个name
代码示例:
const getWindowName = (role: 'admin' | 'user') => {
return `${location.origin}-${role}`;
};
const handleButtonClick = (goAdmin) => {
// 设置当前页面的name
window.name = getWindowName(!goAdmin ? 'admin' : 'user');
// 调转到对于的页面
window.open(url, getWindowName(goAdmin ? 'admin' : 'user')).focus();
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。