如何导入浏览器控制台并保持向后兼容性?

时间:2016-01-26 03:01:15

标签: firefox firefox-addon

Firefox 44正在改变浏览器控制台的导入方式(如bug 1203159所示)。根据最新的浏览器兼容性检查,我的理解是以下import指令将不再起作用:

Components.utils.import('resource://gre/modules/devtools/Console.jsm');

根据错误中的信息,新网址为:

Components.utils.import('resource://devtools/Console.jsm');

但是,这条路径显然不适用于当前版本的Firefox。 Firefox扩展使用即将到来的资源路径同时保持与当前版本的兼容性的最佳方法是什么?有没有办法可以尝试导入一个路径,如果失败,尝试加载另一个路径?

1 个答案:

答案 0 :(得分:1)

我见过一些开发人员使用try {} catch {}语句

try { Components.utils.import('resource://gre/modules/devtools/Console.jsm'); }
catch { Components.utils.import('resource://gre/modules/Console.jsm'); }

注意:与Mozilla通知(下方)相反,我发现Services.jsm的新位置为resource://gre/modules/Console.jsm

Mozilla通知:

  

错误:所有devtools JS模块的路径已更改   resource:// gre / modules / devtools / * to resource://devtools/*。参见   https://bugzil.la/1203159了解更多信息。