2022-09-30 22:12:42 来源 : 三易在线
作为如今全球最流行的浏览器,Chrome有着数以亿计的用户,如果再算上谷歌主导下开源的Chromium生态,几乎已经覆盖了超过全球网民的四分之三。就像谷歌方面在Android上的每一次改动一样,Chrome上的变革也同样牵动人心。
众所周知,作为现代浏览器的Chrome之所以“现代”,靠的就是丰富多彩的扩展,可如今谷歌要对Chrome的扩展“动刀”了。
日前在Chrome的开发者博客中,谷歌产品经理David Li详解描述了Manifest V3迭代的更多细节。据他的说法,原计划将于2023年1月上线的Chrome Manifest V3被推迟到明年6月实施,到明年6月的Chrome M115版发布后,将变更为所有扩展都必须及时更新到Manifest V3版本。
(资料图片)
Manifest V3到底是什么,它又为什么会被推迟实装呢?其实对于Chrome来说,manifest.json是扩展的配置文件,其指明了扩展的各种信息,而Manifest V3则是一个API,它规定了一个符合标准的扩展究竟应该是什么样子。简单来说,Manifest之于Chrome开发者,就与苹果App Store的审核指南之于iOS开发者一样,为Chrome的扩展制定了规则。
就像每一次苹果方面更新App Store审核指南都会引发争议一样,谷歌推出Manifest V3同样也伴随着诸多的争议,但这也很好理解,毕竟每一次改变现状都代表着既得利益者想要维持现状的意图落空。
事实上,Manifest V3是谷歌方面在2019年的Chrome开发者峰会上提出的。也就是说即便是在2023年6月实施,也花费了4年时间,这也足以证明其在开发者社区中的争议性。
而Manifest V3在Chrome的开发者群体中备受争议,其实与谷歌在这一版本上想要实现的效果息息相关。作为浏览器扩展自十年前推出以来最大的转变之一,Manifest V3号称更能够提升安全、隐私,以及浏览器性能,并将限制扩展的功能,尤其是那些旨在监视、修改和浏览器与用户访问的网站间交互的功能。然而相比于Manifest V2,谷歌在Manifest V3上进行的改变却与所宣称的更安全、更能保护隐私背道而驰。
比如说,谷歌提出为了保证浏览器的安全性,用来查看、修改或阻止浏览器请求的webRequest API,将会被效能有限的Declarative Net Request API取代。但webRequest API最核心的用途就是拦截网页上的广告,并被AdBlock等广告拦截工具广泛使用,开发者通过该API写入拦截浏览器请求的规则、分辨广告请求地址,以达到帮用户拦截浏览器发送含有广告内容的请求。
经过无数开发者的不断努力和维护,目前最新的广告过滤规则包含注释在内一共接近9万条,无限制写入拦截规则的webRequest API让广大用户避免了被无孔不入的浏览器广告骚扰。但根据开发者的反馈,Declarative Net Request API的过滤条目限制为3万条,这就意味着当前主流的广告拦截工具使用的规则必然会有大部分失灵、拦截效果会大打折扣,用户未来想要不看广告的难度自然也就更高了。
打着为用户安全着想的大旗、行的却是让用户要看更多的广告,这显然很契合作为全球最大数字广告巨头谷歌的商业利益。当然,由于webRequest API的改动实际上只影响了消费者和广告拦截工具的开发者,所以它的影响还不算很大。真正让所有开发者沸反盈天的则是这样一条新规,那就是为了提高安全性、并保护用户免受恶意软件的侵害,谷歌在Manifest V3上阻止来自外部的远程托管脚本被扩展使用。
这一规定影响的是大名鼎鼎的油猴插件,也就是GreasemonkeyTampermonkey。而这个插件的功能其实很简单,它就是一个可以安装脚本的扩展,有了这个“工具箱”,用户才能往里面放各种“工具”,有了这些“工具”,Chrome浏览器才能拥有各种功能。换而言之,油猴插件就相当于是Android系统里的微信,脚本就等同于微信小程序。
那么问题就来了,绝大多数用户是不具备自己动手写脚本的能力,所以需要开发者提供的脚本,但导致了油猴一部分核心功能失效的就是加载远程脚本。Manifest V3不允许扩展加载远程脚本,几乎就等同于让油猴迎来灭顶之灾。如果说广告拦截扩展的效果打折扣用户忍忍就过去了,但是扩展不能加载脚本,几乎就意味着Chrome的扩展生态要面临重新洗牌,开发者需要想其他的方法来实现同样的功能。
所谓另外的方式,其实就是将脚本托管在谷歌的服务器上,这等于是逼着开发者都必须注册谷歌开发者账户、并交纳注册费才能确保油猴等扩展的正常使用。在开发者看来,这就是在强制向谷歌付费了,显然是不能忍的。