先抛个结论:如果你在Safari里点个链接,页面还没加载完就自动跳到微信、淘宝或者App Store,甚至反复刷新、连环重定向到广告页——那八成是网页在用Ja vaScript、meta标签或Universal Links强行接管你的浏览控制权。解决方案其实就五招,逐一拆开来看,每招都能卡住一个关键环节。

最直接、最彻底的一招,是关掉系统级的全局开关。一旦关闭,任何网站都没法再弹“是否打开XXX应用”的提示,更不可能静默拉起App。
关闭“打开 App 链接”全局开关
这步操作很简单:打开【设置】→【Safari 浏览器】,向下滚动找到【允许网站打开应用】(iOS 17及以上)或【打开 App 链接】(旧版),把开关拨到关闭状态。注意:这个操作不可逆——但随时可以重新开启,所以放心关。
启用内容拦截器屏蔽跳转脚本
内容拦截器的原理是“提前动手”——它能在网页里的 location.href = 'weixin://' 或 window.open('itms-apps://') 这类唤起指令生效之前,直接识别并删掉它们。比等脚本执行后再拦截要彻底得多。
方法一:用 AdGuard for Safari
去App Store下载AdGuard for Safari→安装后进入【设置】→【Safari 浏览器】→【内容拦截器】→开启它的开关→打开AdGuard应用→进入「防护规则」→启用「阻止自定义URL Scheme」和「拦截通用链接重定向」。
方法二:用 1Blocker X
安装后同样在【内容拦截器】中启用→打开1Blocker X→进入「高级设置」→开启「Block itms-apps://」和「Block applinks:」协议拦截。这一步不做的话,拦截器对App跳转几乎等于白设。
清除特定网站数据中断跳转链
很多跳转不是靠实时脚本,而是靠网站上次访问时写进 LocalStorage 的跳转标记或 Service Worker 缓存。不清除这些残留数据,就算换了别的阻断方式,它该跳还是跳。
具体操作:进入【设置】→【Safari 浏览器】→【隐私与安全性】→【管理网站数据】→ 在搜索栏输入 weixin.qq.com 或 taobao.com 这类高频跳转域名→点进该条目→选择【移除所有网站数据】→点击【立即移除】。最后回到 Safari,手动关闭当前标签页再重新打开目标网页——不关页面的话,缓存可能还在内存里继续生效。
临时禁用 Ja vaScript 阻断脚本跳转
这招见效最快,适合正在被跳转折磨时立刻止血。但有个副作用:禁用 Ja vaScript 后,网页里的搜索框、下拉菜单、视频播放器等交互功能全部失效。进入【设置】→【Safari 浏览器】→【高级】→【Ja vaScript】→关闭开关即可。
修改“打开链接”行为为“在后台打开”
这个设置不阻止跳转本身,但能防止点击链接瞬间弹出确认框并打断你当前页面——它会让链接在新标签页静默加载,你仍留在原页面。进入【设置】→【Safari 浏览器】→【通用】→【打开链接】→选【在后台打开】。
