我看到每个cfx tools始终使用自己的 minVersion 和 maxVersion 生成 xpi。但是,这些仅限于 SDK 兼容的版本,例如SDK 1.14 仅适用于 FF 21 - 25.0a1,SDK 1.17 仅适用于 FF 26 - 30。我的问题是:
我想将 FF 21 作为最低版本,因为这是内置 SDK 的版本。我的扩展目前与 SDK 1.14 和 SDK 1.17 一起编译,只进行了外观(语法)调整。
最佳答案
开发者中心可让您选择插件兼容的 Firefox 版本。这只是 setting the minVersion and maxVersion in the install.rdf 的 GUI .只要您不使用需要 Firefox 22+ 的模块或方法,您使用哪个版本的 SDK 都无关紧要,因为正在运行的 SDK 版本由用户浏览器上的版本决定。
很难找到特定模块的兼容性(您可以随时访问特定模块的文档并查看编辑历史记录),但请查看 SDK API Lifecycle了解可以使用哪些模块。一些值得注意的例子是:
处理上述情况以实现向后兼容性的一种方法是执行以下操作:
const { version } = require('sdk/system/xul-app');
if (version < 29) var widget = require("sdk/widget").Widget({...});
else var button = require("sdk/ui/button/action")({...});
所以,要清楚:
关于firefox - 为多个 SDK 版本开发 Firefox 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26858531/