Chrome网上应用店打不开,扩展这事我遇到过不下十次。程序最典型的下载一次是帮同事装一个批量下载图片的扩展,他那边页面一直转圈,扩展最后弹出“无法访问此网站”。程序我让他直接去搜crx文件,下载他问那是扩展什么。那一刻我意识到,程序很多人用Chrome好几年,下载但从没碰过扩展的扩展离线安装。
Chrome扩展本质上就是程序一个文件夹,里面装着HTML、下载CSS、扩展JavaScript和一份manifest.json。程序网上应用店只是下载Google提供的分发渠道,不是唯一渠道。当渠道被墙、被下架、或者开发者自己撤了,文件本身还在。你要做的就是把那个文件夹塞进浏览器。
最直接的办法是找crx文件。crx是Chrome扩展的打包格式,相当于安卓的apk。很多第三方站点会存档这些文件,比如crx4chrome、crxextractor。下载下来之后,打开chrome://extensions/,右上角开启“开发者模式”,把crx文件直接拖进页面。大部分情况能装上,但Chrome从某个版本开始会拦截非商店来源的crx,提示“此扩展程序未列在Chrome网上应用店中,可能已被添加”。这时候点“继续安装”就行,如果连这个按钮都没有,那就得换方法。
更稳妥的方式是加载已解压的扩展程序。把crx文件的后缀改成zip,解压到一个文件夹里。回到扩展管理页面,点“加载已解压的扩展程序”,选中那个文件夹。这个方法几乎不会失败,因为Chrome把决定权完全交给了你。缺点是每次重启浏览器可能会弹窗提醒“请停用以开发者模式运行的扩展程序”,点叉关掉就行,不影响使用。
有个细节值得说:有些扩展依赖后台服务或者native messaging,离线安装后功能会残缺。比如某些密码管理器、需要连接本地客户端的下载工具。这不是安装方法的问题,是扩展本身的设计。装之前最好看一眼它的权限说明,如果写着“与协作应用通信”之类的,离线版大概率用不了。
我自己的习惯是,常用扩展一定留一份解压后的文件夹在移动硬盘里。uBlock Origin、Tampermonkey、简悦,这几个我都是本地加载的。网上应用店偶尔抽风,或者开发者突然下架,我不至于抓瞎。尤其是Tampermonkey,脚本一多,重新配置的成本太高,本地备份等于保险。
还有一类情况是扩展被Google下架了,但你还想用。比如某些视频下载助手、广告拦截的变种。这时候可以去GitHub找源码,自己打包。manifest.json里改一下版本号,用Chrome的“打包扩展程序”功能生成新的crx和pem密钥。pem文件要留着,下次更新版本时用同一个密钥,Chrome才会认为是同一个扩展,否则会变成两个独立的安装。
最后提醒一句:从第三方站点下载crx有风险。有人会在里面塞挖矿脚本或者窃取cookie的代码。装完之后去chrome://extensions/看一眼它的权限,如果一个翻译扩展要求“读取和更改您在所有网站上的数据”,那你自己掂量。实在不放心,装个沙盒或者用单独的Chrome配置文件跑。
扩展这东西,装的时候嫌多,用的时候嫌少。离线安装是个备用技能,平时用不上,关键时刻能省不少事。