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