私が取り組んでいるプロジェクトの1つでは、DOMInspectorを使用してFirefox拡張機能をデバッグする必要があります。
DOMインスペクターの問題は、コードの下にブラウザーが表示されるだけで、ブラウザーを切り離したり、コードセクションやブラウザーを並べて表示したりする方法がないことです。
デバッグしているプラグインに大きなxulオーバーレイがあり、問題のある領域が下部にあるため、その領域のコードとその領域自体を物理的に確認する方法がないため、機能しませんでした。
そこで、DOM Inspector自体を変更して、ブラウザーをコードエディターの横に配置することにしました。
これが私が行ったステップです:
- プロファイルディレクトリから既存のxpiファイルを取得しました。
- zipに変更しました。
inspector.jar
中に入って、を使用して抽出しましたjar -xf <filename>
- 行ってhboxに
inspectorOverlay.xul
変更しました。<vbox id="bxInspectorMain">
(これは、これら2つのウィンドウを水平に配置するのに十分なはずです。) - 次に、を使用してjarファイルを再作成しまし
jar cf
た。 - 名前が同じであることを確認してディレクトリを圧縮し、拡張子をxpiに戻しました。
ただし、実行しようとすると、次の警告が表示されます。
Warning: WARN addons.xpi: Add-on is invalid: [Exception... "Component returned failure code: 0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST) [nsIZipReader.getInputStream]" nsresult: "0x80520006 (NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)" location: "JS frame :: resource://gre/modules/XPIProvider.jsm :: loadManifestFromZipReader :: line 740" data: no]
Source File: resource://gre/modules/XPIProvider.jsm
Line: 740
Warning: WARN addons.xpi: Could not uninstall invalid item from locked install location
Source File: resource://gre/modules/XPIProvider.jsm
Line: 2042
私の質問は、xpiが適切に解釈されるために、一般的に他にどのような変更を加える必要があるかということです。