关于javascript:JS-实现浏览器新开-Tab-时复用已有-Tab

4次阅读

共计 445 个字符,预计需要花费 2 分钟才能阅读完成。

需要

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