我正在 Chrome 115 中使用 Ad Block Plus 扩展程序,从开发人员的角度来看,有件事引起了我的注意。
在 https://satellites.pro/ 上,我看到一个弹出窗口,用于禁用广告拦截以支持该网站,这很好。
我单击按钮,广告拦截器会直接被禁用(我不必导航到广告拦截器并手动禁用它)。
从技术角度来看这是如何运作的?网站不能自动触发此操作并在不询问我的情况下禁用广告拦截器吗?这是使用某些 Ad Block Plus API 吗?
第一次进入网站 - 备注:“Anzeigen zulassen”是德语,表示“接受广告”。
点击按钮(1)后
我在网站的Javascript代码中找到了这个:
c.initCustomEvent("domain_allowlisting_request", !0, !0, b);
这导致我https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/merge_requests/298
所以,是的,似乎有一个 API 可供网站自行解锁。
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/171中有更多概念,看起来这只适用于“受信任的站点”。