先确认地址栏是否有黄色⚠️图标:有则Safari在拦截,需放行域名或禁用扩展;无则属前端代码问题,如AJAX回调中调用window.open被Safari拒绝。

你在Safari里关掉了“阻止弹出式窗口”,但点击按钮后依然没反应,页面像卡住一样——这不是设置没生效,而是其他机制正在悄悄拦截弹窗。
先确认弹窗真的被拦了还是根本没触发
地址栏左侧出现黄色⚠️图标,点开显示“已阻止弹出式窗口”,说明Safari在拦;如果什么提示都没有,那大概率是网页脚本本身没调用window.open(),或者调用方式不符合Safari的用户手势规则——比如在AJAX回调里异步打开,Safari会直接无视。
这一步不用改设置,只用来判断问题根源:有⚠️→是拦截问题;没⚠️→是前端代码问题。
检查 Safari 扩展是否二次拦截
即使你关掉了Safari原生弹窗拦截,AdGuard、uBlock Origin这类扩展仍会主动屏蔽window.open调用。
打开 Safari → 顶部菜单栏「Safari 浏览器」→「设置」→「扩展」→ 逐个关闭名称含“广告”“拦截”“弹窗”“privacy”的扩展。
【必须重启Safari才能让扩展禁用生效】。关完一个就试一次登录或操作,找到那个真正捣乱的扩展。
清除网站数据与缓存干扰
某些网站残留的旧版脚本或损坏的本地存储,会让新弹窗逻辑加载失败,表现就是点击无响应。
进入 Safari 设置 →「隐私」→「管理网站数据」→ 在搜索框输入目标网站域名(如 qq.com 或 oa.company.com)→ 选中所有匹配条目 → 点击「移除」。
移除后刷新页面再试。这一步能解决“明明设置对了却突然失效”的诡异情况。
用 Shift 启动 Safari 跳过异常会话
如果你上次退出时某个标签页正卡在弹窗逻辑里,Safari恢复会话时可能把错误状态也一起载入。
第一步:完全退出 Safari(Command + Q);
第二步:按住 Shift 键,双击 Dock 中的 Safari 图标启动;
第三步:松开 Shift,此时所有标签页都不会自动恢复,干净启动。
然后重新访问目标网站,测试弹窗是否出现。
验证子域名是否被遗漏
Safari 对域名授权不继承子域,除非你明确设了主域。
方法一:进「设置」→「网站」→「弹出式窗口」→ 查看「已配置的网站」列表里有没有 www.oa.company.com 和 oa.company.com 两个条目;
方法二:如果只加了 docs.qq.com,腾讯文档的登录弹窗可能来自 login.qq.com,这个就得单独加。
输入完整域名(带 www 或不带)→ 回车 → 出现在列表 → 右侧下拉选「允许」。











