問題タブ [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.
firefox-addon - Firefox をダウンロードして開く
私は Firefox のプラグイン システムの新しいユーザーです。複数のファイルを que でダウンロードし、それらを開いて練習するプラグインを作成したいと考えていました。
私の質問は、プラグインでインターネットからファイルをダウンロードする方法があるかどうかです。私は os.file の存在を認識しています (提供された例からその使用方法を理解するのは簡単ではありませんが)。次に、デフォルトのプログラムを使用してファイルを実行する方法があるかどうかを知りたいです。
javascript - loadFrameScript を使用して、ページのスクリプト実行前にファイルを挿入するにはどうすればよいですか?
私は現在、bootstrap.js
ファイルでこれを使用しています。私が使用している私の場合、クライアントの JavaScript コードを編集するために使用されますrecentBrowserWindow.messageManager.loadFrameScript(file, true)
。
inject.js:
inject.js
ただし、ここではクライアント ページの後にスクリプトが実行されています。質問は:
inject.js
ページのスクリプト実行の直前に挿入するにはどうすればよいですか?. どのような方法を使用すればよいですか?
firefox-addon - Firefox 拡張機能に Javascript モジュールをインポートする
シンプルな Firefox 拡張機能を開発していますが、カスタム Javascript モジュール ファイルのインポートに問題があります。ファイルはbootstrap.js
ルートにあり、フォルダー
test.jsm
内にあります。2 つのシンボルを次のようにエクスポートします。content
test.jsm
foo
bar
Using JavaScript code modulesの記事によると、ファイルには既に命令がcontent
あります。chrome.manifest
test.jsm
したがって、次のようにインポートできるはずbootstrap.js
です。
しかし、ブラウザ コンソールに次の 2 つの警告が表示されます。
私は何を間違っていますか?Firefox 39.0 を使用しています。
サンプルの XPI ファイルは、ここからダウンロードできます。
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 クラスが行うように) 無効にする必要があり、プラグインを有効にするときは、次のようにする必要があります。再度有効にしました。
javascript - Firefox の新しいプライベート ブラウジング ウィンドウに空白のページを表示する
Firefox 42 では、新しいプライベート ブラウジング ウィンドウを開くと、トラッキング防止に関する情報が表示されます。代わりに空白のページを表示するには? override
ディレクティブを介して実行できることはわかっていchrome.manifest
ますが、ブートストラップされたアドオン (SDK なし) で JavaScript で実行する方法を探しています。
javascript - 新しいマルチプロセス Firefox で Web ページからアドオンを呼び出す
親愛なるみんな。
私たちのアプリケーションにはいくつかのブラウザー用に実装された暗号署名拡張機能があり、すべてうまくいきましたが、新しい Mozilla のマルチプロセス API 移行 (E10S aka Electrolysis) で問題に直面しました。
私たちの Web パーツは、C で記述されたネイティブ ライブラリと連携する拡張機能と対話します (この部分には c-types lib を使用します)。
現在、Firefox はコードの適応が必要なマルチプロセス モデルに移行しています。現時点で最も重要で複雑な部分は、コンテンツから拡張機能への通信の再実装です。関連する公式ドキュメントに従って実装されました
次の方法でブートストラップ拡張機能の初期化を使用しました。
上記のこのコードは、新しいマルチプロセス アーキテクチャでは壊れています。私たちが読んだドキュメントはたくさんありますが、それでもこの問題を処理する方法はありません。
問題は、拡張機能が Web ページの呼び出しを受け入れるようにこのコードをどのように適応させるかということです。
javascript - Firefox 拡張機能で特定の位置にタブを開く
たとえば、Firefox ブラウザ ウィンドウには 10 個のタブがあります。
Firefox 拡張コードで 2 番目のタブの後にタブを追加するにはどうすればよいですか?
gBrowser.addTab
メソッドは、タブ リストに追加するだけです。