这篇翻译不完整。请帮忙从英语翻译这篇文章

我们即将放弃这篇文档中描述的 Firefox 附加组件技术。

请勿使用下列技术开发新的附加组件。请改用 WebExtension 代替。

如果您在维护使用下列技术的附加组件,请考虑将其迁移为使用 WebExtensions 技术。

使用下列技术开发的附加组件可能不适用于多进程 Firefox(e10s),它已在 Firefox Nightly 和 Firefox Developer Edition 中默认启用,并很快将遍及 Firefox 的公测版(Beta)和正式版。我们准备了制作多进程兼容的附加组件的文档,但迁移到 WebExtension 是更加着眼于未来的选择。

有关的 wiki 页面写有协助开发人员过渡到新技术的有关资源、迁移路径、办公时间等信息

一些简单的代码将JavaScript模块转换为非Mozilla特定的代码(例如,如果移植到浏览器)。eval()的使用可能不会被关注,因为它仅在EXPORTED_SYMBOLS 数组上使用,而不依赖于用户输入。

函数importModule(thatObj){
    thatObj = thatObj || 窗口;

    var EXPORTED_SYMBOLS = [
    //把符号放在这里
    ]。

    //你的代码在这里...

    //在你的代码结尾处:(假设'i'和'thatObj'都没有被导出!)
    for(var i = 0; i <EXPORTED_SYMBOLS.length; i ++){thatObj [EXPORTED_SYMBOLS [i]] = eval(EXPORTED_SYMBOLS [i]);}
}

或一次性使用模块:

(function(thatObj){
    thatObj = thatObj || 窗口;

    var EXPORTED_SYMBOLS = [
    //把符号放在这里
    ]。

    //你的代码在这里...

    //在你的代码结尾处:(假设'i'和'thatObj'都没有被导出!)
    for(var i = 0; i <EXPORTED_SYMBOLS.length; i ++){thatObj [EXPORTED_SYMBOLS [i]] = eval(EXPORTED_SYMBOLS [i]);}
})(); //可以在这里放置一个对象参数

文档标签和贡献者

此页面的贡献者: angel512016
最后编辑者: angel512016,