星期二, 二月 19, 2019

120 修改manifest.json使高版本的chrome扩展变得可用 / Chrome网上应用店提示Not Compatible不兼容的另类解决方法

之前使用过这么一个扩展: Distill, 监控网页变动的工具. 后来想起来打算再去试试, 发现已经不兼容我的老浏览器了:
↑显示的是chrome核68以上的版本才可以兼容. 看起来似乎有一些执杖, 不过也可能是有些api只有新版本的chrome浏览器才能调用. 研究了一会儿, 发现一个方法可以让老版本也能装上这类"不兼容"的扩展. 但是部分情况下可能会报错, 毕竟原理只是改版本号.
首先下载crx安装包, 用 [crx离线安装包下载] 网站, 右键另存为 即可. 
下载好了crx, 把它用winrar或者7zip之类的软件解压出来. 因为crx本身就是一个zip而已. 解压完后可以看到里面的文件: 
用记事本打开manifest.json, 找到有"minimum_chrome_version"的地方:
这里就是要求的chrome核最低版本号了, 改成很低的数字, 比如30然后保存. 
这时候你打包成crx直接装回去是提示无效的, 因为类似安卓刷机包, 有校验. 直接用 已安装扩展 界面加载即可, 极速360是chrome://myextensions/ google chrome是chrome://extensions:
在打开网页的顶端勾上 开发者模式, 并点击 打包扩展程序↓:
选中解压出来的文件夹↓: 
私钥pem那个不管它, 直接点 打包扩展程序, 等待几秒钟提示成功↓:
其实也可以直接加载, 但我跟喜欢打包之后拖动新生成的crx到已安装扩展界面进行安装 ;)
*注意: 由于开发者可能用了某些高版本的api, 导致你即使安装了也不能完美使用, 这样我还是建议你升级浏览器吧. 不过这个方法对于绕过chrome应用商店那个不能安装的按钮还是挺管用的.