問題タブ [firefox-addon-restartless]
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 アドオン: バージョン 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 拡張機能の開発は初めてです。というわけでちょっと実験してみました。私は現在、最低限の要件のみを備えたブートストラップ拡張機能を作成しようとしています: install.rdf と bootstrap.js のみです。現時点では、この拡張機能は実際には何もしないはずです。問題なくインストールできるようにしたいだけです。機能は後で追加できます。
install.rdf と bootstrap.js は 7zip で .zip ファイルに圧縮されており、ファイル拡張子は .xpi に変更されています。インストールは AddOn Manager を介して行われ、私の Firefox 42.0 では問題なく動作しているようです (Firefox から成功メッセージが表示されます)。
しかし、インストール後にエラーコンソールを見ると、いくつかの警告/エラーが表示されています:
1447258032068 addons.xpi WARN Test-AddOn の bootstrap.js の読み込み中にエラーが発生しました--53d9108a-541b-4209-a62e-3809504dfe6e@example.org: 入力ストリームを開くときにエラーが発生しました (無効なファイル名?): jar:file:///C:/ Users/Stefan/AppData/Roaming/Mozilla/Firefox/Profiles/dlgniy94.default/extensions/Test-AddOn--53d9108a-541b-4209-a62e-3809504dfe6e@example.org.xpi!/bootstrap.js
1447258032068 addons.xpi WARN Add-on Test-AddOn--53d9108a-541b-4209-a62e-3809504dfe6e@example.org にブートストラップ メソッドのアンインストールがありません
1447258032080 addons.xpi 警告 Test-AddOn の bootstrap.js の読み込み中にエラーが発生しました--53d9108a-541b-4209-a62e-3809504dfe6e@example.org: 入力ストリームを開くときにエラーが発生しました (無効なファイル名?): jar:file:///C:/ Users/Stefan/AppData/Roaming/Mozilla/Firefox/Profiles/dlgniy94.default/extensions/Test-AddOn--53d9108a-541b-4209-a62e-3809504dfe6e@example.org.xpi!/bootstrap.js
1447258032080 addons.xpi WARN Add-on Test-AddOn--53d9108a-541b-4209-a62e-3809504dfe6e@example.org にブートストラップ メソッドのインストールがありません
Zeitstempel: 11.11.2015 17:07:12 Fehler: [例外... 「コンポーネントが失敗コードを返しました: 0x80004005 (NS_ERROR_FAILURE) [nsIURI.hostPort]」 nsresult: 「0x80004005 (NS_ERROR_FAILURE)」 場所: 「JS フレーム :: リソース: //gre/modules/PopupNotifications.jsm :: PopupNotifications_refreshPanel/< :: line 579" data: no] Quelldatei: resource://gre/modules/PopupNotifications.jsm Zeile: 583
1447258032112 addons.xpi WARN Add-on Test-AddOn--53d9108a-541b-4209-a62e-3809504dfe6e@example.org にブートストラップ メソッドの起動がありません
これらのエラー/警告の原因がわかりません。特に、欠落していると思われるブートストラップ メソッドは不可解です。
これは私のbootstrap.jsの内容です:
それほど多くはありませんが、必要なものはすべて揃っているはずですよね? 必要な 4 つのメソッド (startup()、shutdown()、install()、uninstall()) はすべてそこにあります。(アドオンはまだ何もしないはずなので、それらは空です。) では、なぜ私の Firefox 42.0 はこれらのうちの 3 つが欠けていると考えるのでしょうか? そして、なぜ 4 番目の (shutdown()) についてはそう思わないのでしょうか?
いくつかのエラーがあるのに、インストールが機能しているように見えるのはなぜですか (ブラウザーからの成功メッセージ)。
何か重要なことを見逃しましたか?
これは install.rdf です。
https://developer.mozilla.org/en-US/Add-ons/Bootstrapped_extensions#chrome.manifest_in_bootstrapped_add-onsによると 、chrome.manifest ファイルを「使用できます」(これは、必要ではないことを意味すると思います)。
アドオンの .xpi-package 全体に興味がある場合は、ここにアップロードしました: http://www.filedropper.com/testaddon
firefox-addon - jpmアドオンは、アドオンマネージャーに表示するアイコンを取得できません
package.json では、resource://
. name
/ GUID
(相対) 、name
/ (ルート)、/ GUID
data .name
GUID
{}s
{}s
@
インストール後でも、アドオンマネージャーにアドオンからアイコンを表示させることはできません。em:iconURL
jpm で を作成することさえできませんinstall.rdf
。それは単にそこにさえありません。jpm を使用したコマンド ラインにエラーはありません。コンソールにエラーはありません。少なくとも、私がしていることに関連するエラーはありません。少なくとも、私がしていることに関連していることを明確に説明しているわけではありません。私が試したことのデモンストレーション目的で。実際の作業例ではありません。試行したさまざまな形式のそれぞれについて、すべてのサイズのアイコン (16、32、48、64) に同じ形式の URI を配置しました。
package.json (demo snippet):
MDNの記事やSOの回答で説明されている手法は、一度も機能していません。いずれの場合も、Firefox は起動時にネットからアイコンを取得します。
なんらかの理由で、XUL での些細なタスク (そして実際には、アドオンを作成する際の最も基本的なタスクの 1 つ) は、非常に一貫性がなく、jpm で達成することはほとんど不可能に思えます。ツールまたはブラウザーの特定のバージョンでのみ機能する手法。
同様に、アイコンを Action Button ウィジェットで動作させることさえできませんが、それについては別途お尋ねします。jpm run では動作するように見えましたが、jpm xpi ではまったく動作しませんでした。
執筆時点で、ほんの数日前jpm 1.0.7
からプルされたものを使用しています。git master
sqlite - SQLite ストレージ API の Insert ステートメントにより、Firefox 全体がブートストラップ (再起動なし) アドオンでフリーズする
挿入されるデータには、個々の長さが 256 を超えない 2 つの TEXT 列しかありません。
executeSimpleSQL
結果を得る必要がなかったので、最初に使用しました。これは、最大 20K の同時挿入に対してスムーズに機能しました。つまり、バックグラウンドでは、ラグやフリーズは観察されませんでした。
しかし、010万では挿入中にひどいフリーズが見られました。
というわけで、この2つを試してみました。
- 500 レコードのチャンクで挿入 - 20K レコードでも目に見えるフリーズが見られたため、これはうまく機能しませんでした。100万でも試してません。
そこで、非同期にすることにし、executeAsync を Bind などと一緒に使用しました。これは、わずか 20K レコードの目に見えるフリーズも示しています。これは、チャンクではなく、挿入される配列全体でした。
/li>
また、久しぶりに非同期コールバックを取得したようです。通常、executeSimpleSQL
これよりもはるかに高速です.SQLite Manager Tool拡張機能を使用してDBをすぐに開くと、これが得られます(予想どおり)
SQLiteManager: Error in opening file mydatabase.sqlite - either the file is encrypted or corrupt
Exception Name: NS_ERROR_STORAGE_BUSY
Exception Message: Component returned failure code: 0x80630001 (NS_ERROR_STORAGE_BUSY) [mozIStorageService.openUnsharedDatabase]
私の主な目的は、10 万以上のデータをダンプし、後で必要に応じて読み取りを実行することでした。
firefox - e10s アドオンでアクティブなタブの URL を取得する方法
ツールバーのボタンをクリックするには、アクティブなタブの URL アドレスを取得する必要があります。
しかし
エラーになりCPOW
ます。
e10s アドオン内のアクティブなタブ URL の URL の場所を取得するにはどうすればよいですか?
javascript - XUL で実行されているスクリプト内から、現在アクティブなブラウザ ウィンドウ/タブから URL を取得する方法(例: サイドバー)
Firefox 用の単純なブートストラップ アドオンを作成しています。ボタンをクリックしてサイドバーを介してブラウザーから現在の URL を取得する必要があります。
私のbootstrap.js:
Get current page URL from a firefox sidebar extension のすべての提案を試しましたが、何も機能しませんでした。