問題タブ [jpm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
18 参照

javascript - Javascript Firefox アドオン 新しい Textwindow を隅に

Javascript で右上隅に新しい「領域」を生成する必要があります。この「領域」には、いくつかのテキストと、おそらくいくつかの URL が必要です。

私がこれまでに得たもの:

しかし、テキストフィールドは私が望むようには見えません。私が得た最初の問題は、透明であってはならないということです。

CSS 属性を追加するだけでよいのでしょうか、それとも別の関数を使用してその領域を作成した方がよいのでしょうか?

SDK/jpm を使用して Firefox アドオンを生成しています。

0 投票する
1 に答える
62 参照

firefox - 各ビルドの Firefox アドオン開発での xpi ファイル サイズの指数関数的な増加

私はFirefox用のアドオンを開発することを学んでいます。私が観察したのは、アドオン ファイルの変更が非常に最小限であるにもかかわらず、jpm sign検証済みのサイズが.xpi以前のファイル サイズの 2 倍に増加することです。.xpi

以下にシナリオを示します。

この背後にある理由を誰か教えてください。また、相対的なファイル サイズをコードの変更量に合わせて保持するための可能なオプションを知っておくとよいでしょう。

0 投票する
1 に答える
792 参照

firefox-addon - Firefox アドオンの署名エラー

簡単なアドオンを作成しました。開発者モード以外で動作するように署名したいと思います。Mozilla Web サイトのドキュメントを読みましたが、API キーとシークレットを使用して jpm sign コマンドを実行しようとすると、次のエラーが発生します。

APIキーとしてJWT発行者を入力したため、何が間違っているのかわかりません:ユーザー:********:***およびAPIシークレットとしてJWTシークレットを入力しました:******** ************************************************

したがって、私のコマンドは次のようになります。

0 投票する
1 に答える
396 参照

javascript - アドオンは jpm run で問題なくスクリプトを添付しますが、実際の xpi では添付しません

私はまだ addon-sdk にかなり慣れていないので、説明のつかない問題に遭遇しました。これまでのところ、jpm run を使用してすべてをテストしてきましたが、すべてうまく機能しています。今、私は達成したいことの完成に近づいているので、「通常の」ブラウザでテストを実行したいと思いました-主に数日間使用して、すべてが期待どおりに機能するかどうかを確認します.

ただし、インストール プロセスでは、次の 2 つのエラー メッセージが既にスローされます。

[例外...「コンポーネントがエラー コードを返しました: 0x80004005 (NS_ERROR_FAILURE) [nsIURI.hostPort]」 /< :: line 667" data: no] (unknown)

二回投げられる。

まあ、これまでのところ、とても良い(または悪い). 私のアドオンが追加したトグルボタンはまだ表示されています。ボタンをクリックすると、html ページを含むパネルが開きます - まだ機能しています。panel.html にはボタンが含まれており、これが私のトラブルの原因です。

クリックすると、ボタンはメインのアドオン ファイルにメッセージを送信します。

index.js がリッスンする対象:

options.html タブが開かれます (そしてパネルが消えます) が、contentScriptFile が添付されていないように見えます。コードが機能しなくなった場所を正確に把握しようとしましたが、できませんでした。後の「console.log()」

正常に動作しますが、「console.log()」で

(internalOptions.js にあります) はコンソールに表示されません。

とにかく、ブラウザコンソールは次のように報告します:

コンテンツ プロセスでの nsIFile の使用は非推奨です。NetUtil.jsm:335:12

<利用不可> timers.js:43

これらはすべて「jpm run」で完全に機能しているため、どうすればよいかわかりません。したがって、ここで何が起こっているのかまったくわからないので、何か助けていただければ幸いです。

必要に応じて、さらにコードを投稿することもできますが、この投稿はそのままで十分長いと思いました。

ありがとう!

編集:コードをgithubにアップロードしました。多分これは私を助けやすくします。

https://github.com/Azlond/TrackingProtector

前述のコードは、data/privacyProtector/js/panel.js、index.js の 66 ~ 91 行目、および data/privacyProtector/js/internalOptions.js にあります。

0 投票する
1 に答える
94 参照

javascript - Object.defineProperty() はテスト (jpm 実行) 中は機能しますが、実際の xpi を使用する場合は何もしません。

さて、ここで、アドオンの一部に関する別の問題で再び戻ってきました.

オブザーバーを使用して、javascript を介して呼び出された値を変更しています。

これは、'document-element-inserted' を観察することで行っています。

ドキュメントのルート要素が作成された直後、スクリプトを実行する前に送信されます。(ソース

呼び出されると、アドオンはいくつかのドキュメント/ナビゲーター/スクリーンの値を変更して、navigator.X の値をオーバーライドすることでフィンガープリントを減らします。

この場合、たとえばプラグイン リストで、プラグインがまったくインストールされていないかのように表示されます。

これまでのところ、これは私の開発環境/jpm実行でうまく機能しています。しかし、実際の xpi を作成したので、何も起こりません。コードは引き続き呼び出されます。jSTracking 関数でいくつかのコンソール出力を使用しましたが、それらはすべてブラウザ コンソールに表示されました。ただし、変更されたと思われる値は元の値のままです。

jpm run を使用したときに表示されないエラーは 2 つだけです。

[例外...「コンポーネントがエラー コードを返しました: 0x80004005 (NS_ERROR_FAILURE) [nsIURI.hostPort]」 /< :: line 667" data: no] (unknown)

インストール中に2回スローされます。

コンテンツ プロセスでの nsIFile の使用は非推奨です。Content.js:25:17

コンテンツ プロセスでの nsIFile の使用は非推奨です。NetUtil.jsm:335:12

私のスクリプトとは関係ありませんが、時々現れるもう1つのものです。

私を最も混乱させているのは、なぜ Object.defineProperty は jpm run では機能するのに、xpi では機能しないのですか? 常に機能させるには、何を変更する必要がありますか?

プロジェクト全体は、私の Github リポジトリにあります。

オブザーバーの登録は、pp.js の 452 行目で行われます。

観察機能は436-446行にあります

jsTracking 関数は 193 行目で始まり、433 行目で終わります

引用されたプラグインの例は、399 ~ 403 行にあります。

どんな助けにも感謝します、ありがとう!

0 投票する
0 に答える
30 参照

javascript - Os.File.setPermission が関数として認識されない

私はこの(部分的な)メインJSコードを持っています:

Linux でテストしており、実行が上記の約束に達すると、次のエラーが報告されます。

console.log: TypeError: OS.File.setPermission は関数ではありません

この影響は、アドオンのターゲットである Windows プラットフォームでのその部分の実行が侵害されていることも示しているのではないでしょうか。

なぜそれが起こるのですか?どこが間違っていますか?ありがとう。

ここで setPermission の参照