3

XPCOM の XUL School 入門書に取り組んでいます。コンポーネントへのアクセスに問題があります。たとえば(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 を生成し、コンポーネントにアクセスすると、上記で投稿したものとまったく同じ結果が得られます。ここで何が起こっているのですか?

4

1 に答える 1

1

これを試して:

const {Cc,Ci,Cu} = require("chrome");
var cmgr = Cc["@mozilla.org/cookiemanager;1"].getService();
cmgr = cmgr.QueryInterface(Ci.nsICookieManager);
于 2012-10-05T08:55:02.280 に答える