起初是因为看到了一个视频(BV17rT26jEM5),博主在360论坛反馈“极速浏览器X”弹出广告的问题,却被版主嘲讽:“极速X没有广告,少看豆包”
![]()
在第二天的澄清视频(BV1axTR6bEzG)中,博主说明,在360工程师的协助下
已确认该广告实际来自爱奇艺网站
![]()
那么问题来了:浏览器都关了,网站为什么还能弹出广告?
本文将以微软 Edge浏览器 为例,解析网站后台推送广告的原理
先来看一张演示图:
在不打开 Edge 浏览器的情况下,依然能收到来自网站的通知

这种后台通知技术叫做 Web Push,在2023年后获得了各大浏览器的广泛支持,不少同学可能还不太熟悉
具体流程如下:
网站首先会申请并获得通知权限
![]()
随后,网站向浏览器注册一个后台运行的脚本——Service Worker
![]()
Edge 浏览器收到网站的后台推送请求后,
会向微软服务器注册订阅消息,
并将当前用户的订阅地址返回给网站
![]()
获得订阅地址后,网站服务器 便可以在任意时间点告知微软服务器“我要推送消息”
由微软服务器转发给 Edge
注意这里说的网站服务器可以发起推送,而不是你所打开的网页
网站服务器是24小时不间断运行的
![]()
![]()
完全关闭edge浏览器能阻止推送么?
不少人认为,关闭浏览器后仍能收到推送,是因为浏览器并没有真正关闭,仍在后台运行
![]()
其实不然
从第一张演示图可以看到,当我完全关闭 Edge(没有任何后台进程)后,依然能收到推送通知
本文通篇以 Edge 浏览器为例,不排除其他浏览器确实是依靠后台进程实现推送

那究竟是谁在负责推送呢?
从事件管理器中可以看到,从接收消息、调用 Edge,到关闭 Edge,全部由 PushNotification-Platform 完成
![]()
也就是说,这项功能由 WpnService(Windows 推送消息系统服务)负责。只要关闭这个服务,所有通知都会被阻断
![]()
![]()
现在,你已经完全了解网站后台推送的实现机制
那么以下几个问题也就迎刃而解了:
广告弹窗来自浏览器吗
是,但具体来说,广告是由网站发起。
浏览器只是负责显示出来,广告和浏览器没有利益关系
怎么让爱奇艺等网站不推送广告
关闭网站的通知权限即可
为什么油管、脸书网站的推送,在不爬梯的情况,依然能收到
本质上是这些应用商将推送信息提交给微软,由微软服务器推送给用户。
因此,只要微软服务器没有异常,消息就一定能送达
本期分享就到这了,如果有下期,那我们就下期见
![]()
![]()
参考资料
Push API
htpps://developer.mozilla.org/zh-CN/docs/Web/API/Push_API
Re-engage users with push messages
https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps/how-to/push
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com
