4

需求

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

huyaocode
26 声望1 粉丝

前端开发者,在校大学生。


« 上一篇
CSS 选择器