You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iPhone 14(iOS 16)主屏幕Web应用新窗口返回缺失问题咨询

iOS 16 Web App中target="_blank"链接无关闭按钮的解决方案

问题复现场景

  • 在Safari中打开网站,添加至主屏幕
  • 从主屏幕打开该Web App
  • 点击页面内设置了target="_blank"的链接,打开新窗口

在iPhone 13及更早机型的旧iOS版本中,新窗口顶部会显示带Done按钮的面板,用户可点击关闭返回主Web App页面;但在iPhone 14(iOS 16)中,该关闭面板缺失,用户无法返回主页面。

解决方案:配置Web App Manifest

你需要在Web App的manifest.json中调整以下配置:

  1. 确保display属性设置为"standalone"或"minimal-ui":
{
  "display": "standalone"
}

standalone模式会让Web App以独立应用的形式运行,iOS 16会为这类应用的新弹出窗口保留关闭面板。如果之前设置的是"fullscreen",可能会导致关闭按钮消失。

  1. 避免使用display_override属性覆盖默认窗口行为:
    如果manifest中存在"display_override": ["window-controls-overlay"]这类配置,需要移除,它会改变窗口控件的显示逻辑,导致Done按钮无法正常显示。

额外补充

如果上述manifest配置后问题仍存在,可通过JavaScript拦截target="_blank"的链接行为,改为在当前窗口打开或自定义弹出窗口的关闭逻辑:

document.addEventListener('click', function(e) {
  const link = e.target.closest('a');
  if (link && link.target === '_blank') {
    e.preventDefault();
    // 可选择在当前窗口打开链接
    window.location.href = link.href;
    // 或自定义弹出窗口并添加关闭按钮(需同源)
    const newWindow = window.open(link.href);
  }
});

内容的提问来源于stack exchange,提问作者Alexander Popov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:20:31