Я прорабатываю учебник XUL School по XPCOM. У меня проблемы с доступом к компонентам. Независимо от того, к какому компоненту я пытаюсь получить доступ, например (из MDN):
// xpconnect to cookiemanager
// get the cookie manager component in JavaScript
var cmgr = Components.classes["@mozilla.org/cookiemanager;1"].getService();
cmgr = cmgr.QueryInterface(Components.interfaces.nsICookieManager);
Я все время получаю сообщение об ошибке «TypeError: Components.classes is undefined.». В других местах говорят, что это может быть проблема с другими надстройками, которые проблематичны, поэтому я перезапустил Firefox в безопасном режиме, но у меня все еще есть эта проблема.
Другие вопросы здесь кажутся похожими на эти, в которых говорится, что компоненты должны быть зарегистрированы в файле манифеста; однако, похоже, это относится к компонентам, добавленным пользователем. Так ли это здесь? Что я делаю неправильно?
изменить: у меня установлен XPCOMViewer, и я вижу, что компоненты есть. Когда я использую XPCOMViewer для генерации JavaScript для доступа к компоненту, он дает то же самое, что я публикую выше. Что, черт возьми, здесь происходит?
require('chrome')
? - person David-SkyMesh   schedule 05.10.2012const {Cc,Ci,Cu} = require("chrome");
- person David-SkyMesh   schedule 05.10.2012