0

正規表現を使用してページを検索できる FindBar アドオンを見つけました。しかし、それはフォックス2と3でのみうまく機能します。少なくともフォックス4に適応させるのを手伝ってもらえますか。Firefox4 以降、拡張機能の開発にいくつかの変更があるためです。

そのアドオンには、いくつかの XPCOM コンポーネント、1 つの .dll ファイル、および XPCOM 関数があります。

これはアドオンの .xpi です:
http://www.oxymoronical.com/files/extensions/FindBarRX/archive/FindBarRX-1.0.1.rev45.xpi


Firefox4 の変更点に関するこの記事を読みました。
https://developer.mozilla.org/en-US/docs/Mozilla/XPCOM/XPCOM_changes_in_Gecko_2.0

しかし、まだすべての変更を適用することはできません。それらの指示に従ってマニフェスト ファイルを変更しましたが、それでも機能しません。これらのコンポーネントを適切に登録する方法がわかりません。たとえば、彼らが持っているIDがわかりません。


Firefox2 では、「正規表現」チェックボックスを設定し、\d などの正規表現パターンを入力して数字を検索できます。フォックス4では、そのチェックボックスのみが表示されますが、検索テキストボックスの内容には反応しません。

正規表現検索の主な機能を実行するメソッド Find() を含むファイル fbTypeAheadFind.js があります。JavaScript Debugger Firefox アドオン、XPCOM Viewer を使用しました。そして、fox2では、そのデバッガーにロードされたfbTypeAheadFind.jsを確認でき、ファイルにブレークポイントを設定して検索プロセスを実行できます。しかし、fox4 では、デバッガーにこのファイルはありません。

XPCOM コンポーネントが正しくロードされていないことが原因だと思います。では、どうすれば修正できますか。これらのコンポーネントのロードを担当する.dllファイルがあるため、不可能かもしれませんが、変更できません。そして、XPCOM がなくても機能するように、すべてのアドオンを変更できるかもしれません。今はちょっとつらいです。

上記のリンクには、NSGetModule メソッドを NSGetFactory に変換する必要があるという文があります。しかし、NSGetModule はその .dll ファイルに格納されています。そのため、すべてのソース コードを再構築して別の .dll を作成し、NSGetFactory のものを取得する必要があります。しかし、私はそのソースコードを持っておらず、それを作成する方法さえ知りません。


これは私の編集したchrome.manifest です:

content    findbarrx                          chrome/content/
locale      findbarrx         en-US         chrome/locale/en-US/
skin        findbarrx         classic/1.0    chrome/skin/

overlay     chrome://browser/content/browser.xul              chrome://findbarrx/content/browserOverlay.xul      
overlay     chrome://browser/content/browser.xul              chrome://findbarrx/content/bindingOverlay.xul      
style       chrome://browser/content/browser.xul              chrome://findbarrx/skin/findbarrx.css           

interfaces components/fbITextExtractor.xpt
binary-component platform/WINNT_x86-msvc/components/FindBarRX.dll

component {a5089a1b-2afe-4dae-94b4-c051c3cde90a} components/fbFallbackTextExtractor.js
contract @blueprintit.co.uk/fallbacktextextractor;1 {a5089a1b-2afe-4dae-94b4-c051c3cde90a}
category profile-after-change FindBar-RX-Text-Extractor @blueprintit.co.uk/fallbacktextextractor;1
4

0 に答える 0