問題タブ [firefox-addon-sdk]
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 - Firefox拡張機能をすばやく作成するにはどうすればよいですか?
いくつかのjsコードとjQueryライブラリ全体を挿入するFirefox拡張機能を作成します。ユーザーがブラウザーのどこかに配置されたボタンを押したときに、それが発生するようにしたい(インジェクション)。拡張機能の作成に関するMDCのドキュメントやその他のチュートリアルを読んだことがありますが、それらは私には複雑に思えます。XPCOMやXULなどのテクノロジーは私にとって完全に有用です(実際にそれらを学ぶ時間はありません)。私の質問は、それは私の問題を解決してからMDCに従う別の方法ですか?私は自分の仕事をより速く行う方法を見つける必要があります。私はすでにGoogleChromeの拡張機能を作成しましたが、Firefoxの拡張機能よりもはるかに簡単でした。
javascript - Firefox JavaScript chrome コードの弱参照
A
Jetpack ベースのライブラリでクラスを書いているとします (つまり、chrome/extension コードについて話している) :
ユーザーはクラスのインスタンスを作成しますA
:
A
作成されたすべてのインスタンスを追跡したい場合は、次のようにします。
listA.push(this);
のコンストラクターを追加し、次のA
ようにします。
のユーザーがa
その参照を削除するまで (たとえばa
、範囲外になるまで)、すべて問題ありません。私は今問題を抱えています:listA
への参照がまだ含まれているa
ため、ガベージコレクションされることはありません。さらに、他の方法では到達できないlistA
インスタンスを除外する方法がありません。A
私は効果的にメモリをリークしています。
listA
必要なのは、通常の参照ではなく弱い参照にプッシュすることです。どうにかできると思いますが、ここからどこへ行けばいいのかよくわかりません。私は次のようなものを想像できます:
しかし、たとえば、弱い参照がまだ有効かどうかをテストする方法がわかりません。または、 で死んだ弱いエントリを効率的に除外する方法listA
。助言がありますか?
firefox-addon-sdk - Jetpackは引き続きThunderbirdで動作しますか?もしそうなら、簡単な例はどこにありますか?
私の知る限り、Jetpackの初期バージョンは、FirefoxとThunderbirdの両方のプラグインの開発をサポートしていましたが、現在のサイトではFirefox4についてのみ言及しています。
彼らはThunderbirdのサポートをやめましたか?
そうでない場合、誰かが私にhello worldスタイルの例を教えてもらえますか?グーグルは役に立たなかった。:/
firefox-addon - Jetpackのアドオンプロセスとパネルページ間の通信方法
パネルに変数を送信するための最良の方法は何ですか?人々はmustache.jsを使用していますか?現在、HTMLファイルをロードすることはできますが、panel.show()を呼び出すと通信できません。
javascript - JavaScriptのモジュールグローバル変数にContentScriptデータを渡す方法は?
私はFirefox拡張プロジェクトに取り組んでいますが、今はこれにこだわっています。
abc はグローバル変数で、newabc は contentScript 内の変数です。
abc = newabc を作成するにはどうすればよいですか?
ありがとう!!
javascript - ページモッドのコンテンツスクリプトとしてのJavascriptフレームワーク(RightJS)
私はjetpackの世界(そしてそのことについてはFirefoxの拡張機能)に不慣れで、jetpackの可能性について調査しているときに、何か奇妙なことに気づきました。pagemodにjavascriptフレームワーク(RightJS)を含む簡単なテストプロジェクトを実行しました(チュートリアルではjQueryを使用しており、正常に機能しているようです)。次のエラーが発生しました。
エラー:例外が発生しました。
トレースバック(最後の最後の呼び出し):
ファイル "/home/nic/Aptgeek/TestProjects/ff-extension/data/external/libs/right-src.js"、行5979、
ファイル "/home/nic/Aptgeek/TestProjects /ff-extension/data/external/libs/right-src.js "、行990、
TypeError:Array.includeは関数ではありません
私のmain.jsスクリプトはかなり単純です:
その議論を見た後:http: //groups.google.com/group/mozilla-labs-jetpack/browse_thread/thr ...、私はjetpackjavascriptフレームワークのサポートについて疑問に思い始めました。page-modを間違って使用していますか?それともそれはうまくいくべきですか?page-modのcontent-scriptとしてjavascriptフレームワークを使用することに関して制限はありますか?
firefox-addon - Mozilla JetPack のセットアップ 「指定されたレジストリ キーまたは値が見つかりませんでした」
以下のエラーが表示されます...
どうしたの?どうすれば修正できますか?
firefox-addon - Mozilla "Jetpack" アドオン: ウィジェットへのアンカー パネル
ウィジェットがパネルを開く Jetpack 拡張機能を作成しています。ウィジェットをクリックすると、期待どおりにパネルが開きます (ウィジェットの右下隅に固定されています)。しかし、コードから widget.panel.show() を呼び出すと、パネルがウィジェットから切り離されて開き、画面の中央に配置され、空間に浮かんでいます。
要するに、どうすればこれを修正できますか?
widget.panel.show() を呼び出す代わりに、(何らかの方法で) ウィジェットでクリック イベントをシミュレートできますか?
パネルをウィジェットに固定することはできますか?
この質問には、以前の Jetpack API で機能した解決策がありますが、新しいインターフェイスに変換できません: Using Positioning 'Panel' in new Jetpack API
firefox - Firefox:アドオンSDK(Jetpack)を使用してツールバーを追加/変更するにはどうすればよいですか?
そのため、アドオンSDKのドキュメントを何度か調べましたが、ツールバーを作成したり、既存のツールバーを変更したりする方法がどこにもわかりません。彼らはアドオンバーアイコンの作成に関するチュートリアルを持っていますが、それは私が望んでいることではありません。アドオンSDKはこれをまだサポートしていますか?もしそうなら、誰かが私を例/チュートリアルにリンクできますか?
firefox - アドオンSDKを使用してFirefox拡張機能を開発することの長所/短所は何ですか?
Firefox用の(さらに別の)パスワードマネージャーアドオンを開発しています。私のアドオンは次のことを行う必要があります:
- 各パスワードフィールドに2つのコンテキストメニュー項目を追加します。
- メニュー項目を選択したら、ダイアログボックスまたはフローティングパネルを開きます。
- 特定のXPCOMコンポーネントの特定のメソッドにアクセスします。
- パスワードフィールドに入力します。
- 設定ウィンドウを含めます。
- Firefox4.0と互換性があります。
できれば、次のことも行います。
- Firefox3.5および3.6で実行します。
- 一部のユーザーは最新バージョンに更新しません。
- Firefox4.0はPowerPCMacでは動作しません。
- Firefox4.0に再起動せずにインストールします。
- ローカリゼーションを許可します。
アドオンSDK(旧称Jetpack)を試しましたが、開発を非常に簡単に開始できます。ただし、HTMLでは「ネイティブな外観」のダイアログボックスを簡単に作成できず、SDKはかなり重いことがわかりました。(単純な拡張機能を構築するには数キロバイトかかります。XPCOMコンポーネントが含まれています!)
アドオンSDKを使用してFirefox拡張機能を開発することの長所と短所は何ですか?「深刻な」拡張機能開発の準備はできていますか?