Firefox的ScribeFire扩展是个非常不错的wordpress离线博客应用,但是它只能载入最近的100篇的博客,对经常修改优化博客内容的小衲我来说,这个数根本不够,我想载入以前所有的博客列表,就只有自己DIY这个xpi扩展了。
可是问题来了:最新版本的Firefox不支持“擅自修改”的xpi。火狐官方网站说“某些附加组件会未经您的同意就篡改浏览器设置或者窃取您的信息,这样的情况现在越来越普遍。……在 Firefox 43 及更高版本中,Firefox 将阻止您安装未签名的附加组件,并禁用任何已安装的未签名附加组件。”
不要脸的黑客真的是无孔不入,Firefox的苦心值得理解。不过自己电脑上DIY的xpi也不能正常安装,非得经过Firefox官方验证,那也是够让人蛋疼的。在这之前我找了很多关于xpi修改和安装的网文,因为不适用于当前的这个规则,所以都失败了,浪费了不少时间。
那么如何经过Firefox的验证来合法化安装修改过的xpi扩展呢?步骤如下:
- 上addon.mozilla.org注册Firefox开发者账号。
- 用ark等软件直接打开xpi文件(本身就是个zip压缩文档),修改其中的install.rdf文件,将其中的em:id做一些修改,不管是不是同一个人,每次提交之前都要修改这个id,比如em:id="next@scribefire.com-2016080402",我就在next@scribefire.com添加了一个-2016080402,这样就可以确保提交审核成功。修改完install.rdf之后直接保存到xpi压缩文档中。
- 修改xpi中的其他文件,实现你想要的功能。修改之后直接保存到xpi压缩文档中。
- 上https://addons.mozilla.org/en-US/developers/addon/submit/2提交刚修改过的xpi文件,同时最好勾选“Do not list my add-on on this site ?”这个选项。静候审核完成。
- 完成之后,会有一些关于代码的warnings,不要管它,直接Continue,进入Step 3页面。
- 在Step 3页面修改The detail page的路径,一定是以前没有的名字。然后Continue,会生成一个链接。
- 在链接的页面里点击"xxxxxxx.xpi"的链接,就可以正常安装审核过的xpi扩展了。
参考:https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/Distribution
◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝◜◝
后记:也可以按照《Let’s Write a Web Extension》介绍的方法,安装Firefox Developer Edition,这个版本的火狐可以随时修改使用扩展,非常方便。前提是在about:config里设置xpinstall.signatures.required为false。
◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞◟◞