自2019年年初谷歌公布Manifest v3平台草案开始,有关运行用户脚本和广告拦截能力被限制引起激烈讨论。
在最初的草案中谷歌计划完全禁止在谷歌浏览器中运行用户脚本,除非脚本开发者将脚本提交给谷歌先审核。
这意味着诸如油猴之类的用户脚本扩展程序将彻底停止工作,而广告拦截扩展程序的拦截能力也会大大降低。
这些问题也是引起激烈讨论的原因,因为从用户角度来说谷歌分明是在袒护自己广告业务避免广告遭到拦截。
3年多后这个问题基本被解决:
本月初谷歌浏览器发布博客宣布 Manifest v3 平台迁移的最后两个关键问题 , 也就是用户脚本和拦截相关的。
根据说明目前这些问题基本已经得到解决,虽然谷歌仍然进行限制,但是相比最初的草案情况略微有所改善。
现在开发者可以在 Google Chrome Beta 120 版中进行测试,测试没问题后就可以尽早迁移到Manifest v3。
最大的问题在于新平台对广告拦截扩展的能力进行大幅度削弱,如广告拦截扩展将无法支持自定义屏蔽功能。
针对脚本类的新API:
在最初的草案中谷歌要求所有可以在浏览器上运行的脚本都必须提交到Chrome Web Store中交由谷歌审核。
新平台不允许扩展程序加载来自外部的代码,所以脚本开发者还需要支付五美元注册费找谷歌对代码上架等。
然而油猴等平台具有海量的用户脚本,不可能所有脚本开发者都去注册为谷歌浏览器开发者然后去提交代码。
针对这个问题谷歌浏览器提供的新接口,要求用户必须开启开发者模式后,才可以运行外部加载的脚本代码。
当用户试图加载脚本但没有启用开发者模式时,油猴等扩展可调用新接口弹出提示引导用户启用开发者模式。
广告拦截类的解决方案:
实际上广告拦截扩展的能力限制问题并没有得到彻底解决,谷歌浏览器只是放宽限制基本满足开发者的需求。
广告拦截扩展一般使用的是声明性网络请求方案,这可以在页面请求阶段直接拦截命中规则的一些资源加载。
原本在最初的草案中谷歌准备将规则数量限制为30000条,但主流广告拦截扩展规则一般都在80000条左右。
因此如果按照最初草案设计,那么当前大多数广告拦截扩展的能力会大打折扣,这也是谷歌被骂的原因之一。
谷歌提供的新解决方案是为开发者提供更多的规则集 , 如启用的静态规则集由最初的10个提升至现在的50个。
不幸的是使用新平台后诸如 uBlock Origin 等将无法使用自定义过滤功能,即用户只能使用加载的静态规则。
总的来说新平台对广告拦截类扩展的能力限制非常多,至少不可能回到Manifest v2 时代那种自由开放状态。
Sources 1:https://developer.chrome.com/blog/chrome-120-beta-whats-new-for-extensions/
Sources 2:https://developer.chrome.com/docs/extensions/migrating/known-issues/
版权声明:感谢您的阅读,除非文中已注明来源网站名称或链接,否则均为蓝点网原创内容。转载时请务必注明:来源于蓝点网、标注作者及本文完整链接,谢谢理解。