問題タブ [firefox-addon-bootstrap]

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 投票する
1 に答える
109 参照

firefox-addon - Firefox をダウンロードして開く

私は Firefox のプラグイン システムの新しいユーザーです。複数のファイルを que でダウンロードし、それらを開いて練習するプラグインを作成したいと考えていました。

私の質問は、プラグインでインターネットからファイルをダウンロードする方法があるかどうかです。私は os.file の存在を認識しています (提供された例からその使用方法を理解するのは簡単ではありませんが)。次に、デフォルトのプログラムを使用してファイルを実行する方法があるかどうかを知りたいです。

0 投票する
2 に答える
245 参照

javascript - loadFrameScript を使用して、ページのスクリプト実行前にファイルを挿入するにはどうすればよいですか?

私は現在、bootstrap.jsファイルでこれを使用しています。私が使用している私の場合、クライアントの JavaScript コードを編集するために使用されますrecentBrowserWindow.messageManager.loadFrameScript(file, true)

inject.js:

inject.jsただし、ここではクライアント ページの後にスクリプトが実行されています。質問は:

inject.jsページのスクリプト実行の直前に挿入するにはどうすればよいですか?. どのような方法を使用すればよいですか?

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

firefox-addon - Firefox 拡張機能に Javascript モジュールをインポートする

シンプルな Firefox 拡張機能を開発していますが、カスタム Javascript モジュール ファイルのインポートに問題があります。ファイルはbootstrap.jsルートにあり、フォルダー test.jsm内にあります。2 つのシンボルを次のようにエクスポートします。contenttest.jsmfoobar

Using JavaScript code modulesの記事によると、ファイルには既に命令がcontentあります。chrome.manifest

test.jsmしたがって、次のようにインポートできるはずbootstrap.jsです。

しかし、ブラウザ コンソールに次の 2 つの警告が表示されます。

私は何を間違っていますか?Firefox 39.0 を使用しています。

サンプルの XPI ファイルは、ここからダウンロードできます。

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

firefox-addon - Firefox アドオン: バージョン 38.0 未満の場合は、bootstrap.js mit sdk/page-mod

tl;dr: Addon SDK を使用して Firefox アドオンを作成しました。アドオンのコンパイルは、より大きなビルド システム (chrome 用にもコンパイルします) の 1 つのステップであるため、ビルド システムは xpi を手動でパッケージ化し、jpm を使用しません。ただし、独自のアドオンを作成するためのテンプレートとして、jpm パッケージ化されたアドオンのコンテンツを使用しました。これは、Firefox >=38 でのみ機能します。以前のバージョンで動作させる簡単な方法はありますか?

詳細:

そこで、次の bootstrap.js を含む xpi ファイルをパッケージ化します。

さらに、xpi には実際のコードを含む index.js が含まれています。この index.js は、sdk/page-mod のコンテンツ スクリプトを設定しています。

そのため、bootstrap.js では、起動/シャットダウン関数が Bootstrap オブジェクトにリンクされ、プラグインの有効化/無効化を処理します。

これは firefox 40 では正常に動作しますが、38 より前のバージョンでテストしたところ、bootstrap.js スクリプトを実行できないため、動作しません。

以前のバージョンの Firefox で動作させる簡単な方法はありますか? 残念ながら、これに関するドキュメントを見つけるのは非常に困難です。具体的には、アドオンの有効化/無効化を中断したくありません。つまり、ユーザーがアドオンを無効にした場合、page-mod も (Bootstrap クラスが行うように) 無効にする必要があり、プラグインを有効にするときは、次のようにする必要があります。再度有効にしました。

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

javascript - Firefox の新しいプライベート ブラウジング ウィンドウに空白のページを表示する

Firefox 42 では、新しいプライベート ブラウジング ウィンドウを開くと、トラッキング防止に関する情報が表示されます。代わりに空白のページを表示するには? overrideディレクティブを介して実行できることはわかっていchrome.manifestますが、ブートストラップされたアドオン (SDK なし) で JavaScript で実行する方法を探しています。

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

javascript - 新しいマルチプロセス Firefox で Web ページからアドオンを呼び出す

親愛なるみんな。

私たちのアプリケーションにはいくつかのブラウザー用に実装された暗号署名拡張機能があり、すべてうまくいきましたが、新しい Mozilla のマルチプロセス API 移行 (E10S aka Electrolysis) で問題に直面しました。

私たちの Web パーツは、C で記述されたネイティブ ライブラリと連携する拡張機能と対話します (この部分には c-types lib を使用します)。

現在、Firefox はコードの適応が必要なマルチプロセス モデルに移行しています。現時点で最も重要で複雑な部分は、コンテンツから拡張機能への通信の再実装です。関連する公式ドキュメントに従って実装されました

次の方法でブートストラップ拡張機能の初期化を使用しました。

上記のこのコードは、新しいマルチプロセス アーキテクチャでは壊れています。私たちが読んだドキュメントはたくさんありますが、それでもこの問題を処理する方法はありません。

問題は、拡張機能が Web ページの呼び出しを受け入れるようにこのコードをどのように適応させるかということです。

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

javascript - Firefox 拡張機能で特定の位置にタブを開く

たとえば、Firefox ブラウザ ウィンドウには 10 個のタブがあります。

Firefox 拡張コードで 2 番目のタブの後にタブを追加するにはどうすればよいですか?

gBrowser.addTabメソッドは、タブ リストに追加するだけです。