在同一个浏览器会话中使用多个“阻止程序类型”扩展时,如何处理 URL/有效负载阻止?
例如,当 uBlock Origin 和 Privacy Badger 同时运行时,Firefox 正在加载网页,会发生什么情况?如果同时使用 uBlock Origin 和 Adguard,也会有同样的问题。
第一个扩展读取并阻止后,另一个扩展是否会在第一个扩展完成后执行相同的操作?因此,在这种情况下,第二个应用程序的工作量会少很多,但在这种情况下哪个扩展会先启动?
但我很惊讶它竟然是这样工作的。那么在另一种情况下,它们如何能同时过滤同一个页面,尤其是当两个扩展都应该删除一些共同的内容时?
谢谢
答案1
在大多数浏览器中,当前页面由单个线程处理,因此扩展将按顺序执行,而不是并行执行。
我相信监听某些事件的扩展将会被一个接一个地调用,因此第一个扩展将获胜,而其他扩展甚至不知道发生了什么。
浏览器没有实现扩展的抢占式并发执行,因为所需的复杂性更适合操作系统而不是浏览器,并且需要多个协作线程。