需要

网站有管理员端和用户端,须要点击跳转按钮时关上另一个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();}