我把91网的通知干扰拆给你看:其实一点都不玄学
你可能遇到过这样的情况:打开手机或浏览器,91网的推送、站内通知、邮件或弹窗像接力赛一样源源不断,让人抓狂。别急,站在一位做推广多年的角度,我把“通知干扰”拆成几块,带你看清原理、找到根源,并给出一套可立即执行的清理与预防策略。结论先说一句:大多数看起来“玄学”的通知,其实都是可以被定位和控制的。
一、先把“通知”类别分清 不同来源、不同机制的通知处理方式不一样,先判断是哪一种才能准确下手。
- 浏览器推送(Web Push)——通过Service Worker和Push API推送到浏览器,通常弹窗出现在桌面或移动浏览器。
- 应用内推送(App Push)——移动客户端通过厂商或Firebase Cloud Messaging(FCM)等服务收到通知。
- 站内提示/弹窗——页面加载时的JavaScript控制显示,可能是定时器或事件触发。
- 邮件通知——站外邮箱收到的活动提醒、营销邮件等。
- 第三方广告/推送SDK——Some scripts like OneSignal、QQ/百度/阿里推送SDK会嵌入并发送通知请求。
二、我是怎么拆解的(实战流程) 1) 复现与记录:找到触发场景(登录后、刷新、某个页面、断线重连),记录时间点和页面URL。 2) 浏览器抓包与DevTools:打开Network和Application标签
- Network看请求:是否有特定域名频繁发起push或subscribe请求(如fcm.googleapis.com、onesignal.com等)。
- Application > Service Workers查看是否有注册的worker,右侧可以直接unregister。
- Application > Storage可以清理localStorage、IndexedDB、Cookies,观察是否有脚本保存了订阅标识。 3) Console即时检测(可复制粘贴执行)
- 查看权限:Notification.permission
- 注销所有Service Worker(Chrome Console): navigator.serviceWorker.getRegistrations().then(rs=>rs.forEach(r=>r.unregister()))
- 取消Push订阅(若有): navigator.serviceWorker.getRegistration().then(reg=>reg && reg.pushManager.getSubscription().then(s=>s && s.unsubscribe())) 4) 查脚本来源:在Network里定位发起subscribe或调用Push API的脚本文件名和域名,回溯到页面引入处。 5) 检查后端触发:如果是站内消息,通常是由后端事件推送(消息队列或定时任务)触发,需要在账号通知偏好里查哪些事件开启了通知。
三、针对性解决办法(用户角度,马上可做)
- 直接关通知权限(浏览器): Chrome:设置 > 隐私与安全 > 网站设置 > 通知,找到91网或相关域名选择“阻止”。
- 注销Service Worker与取消订阅(高级用户): 按上面Console命令运行,或DevTools > Application > Service Workers手动unregister。
- 清除站点数据:清除Cookies、localStorage和IndexedDB,页面可能用这些保存了提醒标识。
- 屏蔽第三方域名:使用uBlock Origin/AdBlock Plus添加自定义规则屏蔽推送相关域名(如onesignal、fcm.googleapis.com、某些广告域)。
- Hosts文件屏蔽(更狠):把明显的推送域名指向127.0.0.1,系统级拦截所有请求。
- 邮件退订和过滤:用“退订”链接或创建邮箱过滤器把来自91网的邮件归档/删除;针对垃圾营销,启用收件箱优先级或使用规则。
- 手机App级设置:App通知可以在系统设置里关闭;Android还能在应用内通知频道做精细化控制。
- 临时静音:当需要安静时,开启“请勿打扰”或使用浏览器的免打扰模式。
四、开发者/运营视角:为什么会发生这种“干扰”
- 频繁发通知是因为缺乏分级与节流:系统把每次可能的事件都当成“要通知”的事。
- 第三方SDK默认过于激进:一些推送SDK默认启用且请求权限,且并不优先尊重用户偏好。
- 推送订阅生命周期管理不到位:用户注销、清除数据后仍在后端保留旧订阅,会导致“僵尸通知”发出。
- 营销逻辑驱动:增长团队为了拉回用户,设置了大量触发条件。
五、给产品和运营的建议(一句话版)
- 优化触发规则、增加频率限制、默认关闭主动推送并提供清晰退订入口、手机号/设备级别去重与清理。
六、最后一点实用小贴士
- 想快速查清到底是谁在推?用DevTools的Network过滤“push”或关注Service Worker注册时的request,域名一查就知道是自家逻辑还是第三方SDK。
- 不想管技术,直接用浏览器或系统的“阻止通知”和“清除站点数据”几步操作能解决绝大多数情况。
把复杂问题拆成可操作的小步骤,就能从“被通知”变成“掌控通知”。如果你愿意,可以把你遇到的具体页面或推送样例贴出来,我可以一步步帮你定位到底是哪个域名/脚本在作怪,并给出针对性的屏蔽规则或命令。需要的话我也能把常用的uBlock规则或hosts条目直接写好给你复制。

