在我运行以下代码的Firefox中:
var clazz = Components.classes["@mozilla.org/messenger;1"];
此错误即将发生:
TypeError: Components.classes is undefined
请看这个链接: http://jsfiddle.net/BbrvX/
有关Components.classes
的信息,请访问以下链接:
答案 0 :(得分:3)
Components.classes
适用于Chrome代码,扩展程序或浏览器开发。您无法在内容页面中访问它。
答案 1 :(得分:2)
如果您使用Addon SDK开发插件,则应使用此成语:
var { Cc } = require("chrome");
var clazz = Cc["@mozilla.org/messenger;1"];
其中Cc代表Component.classes。您可以在here上阅读更多内容。
答案 2 :(得分:2)
旧线程,新出现的错误:
如果在.cfg文件中使用了Component.Classes,则在Firefox 64位中会出现此错误。
目前,解决方法似乎是将此行添加到autoconfig.js文件中,以禁用Firefox Quantum / 64位中的沙箱。
pref("general.config.sandbox_enabled", false);
来自https://support.mozilla.org/en-US/questions/1236295的提示是针对Firefox 62的建议,但也适用于Firefox 68。