iPhone端Safari新标签页无法获取焦点问题求助
iPhone Safari复用标签页时无法获取焦点问题排查求助
问题场景
使用window.open打开新窗口时,焦点可正常切换到新窗口;但因需求限制需每次仅打开一个标签页,调用window.open时指定了name参数。
当复用同一name参数打开新标签页(覆盖原有标签页URL)时,仅iPhone Safari存在新标签页无法获取焦点的问题,其他浏览器均正常工作。
补充信息
为规避Safari弹窗拦截策略,使用以下共享工具函数:
const openNewTab = (url: string, name: WindowName = WindowName.NewTab) => { setTimeout(() => { window.open(url, name); }, 0); };
已尝试的无效方案
- 在
window.open后立即执行focus事件——失败 - 使用
window.open的返回值调用focus方法——失败 - 在调用返回值的focus方法前添加
setTimeout——失败
恳请各位提供排查建议。
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

