問題タブ [xpcom]
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.
c++ - Thunderbird で「SendMail」イベントをリッスンするには?
Thunderbird から送信されたすべてのメールを傍受し、メール本文に定義済みの文字列がある場合は送信をブロックする必要があります。これは、既存の XPCOM dll アドオンの一部である必要があります。
それを実装する方法について何かアイデアはありますか?
firefox - IE以外のブラウザ用のブラウザキャッシュAPI
IEには、IEブラウザのキャッシュを読み取って操作するためのGetUrlCacheEntryInfoなどのWinInetAPIがあります。
FirefoxやChromeなどのIE以外のブラウザ用の同様のAPIはありますか?もしそうなら、どこでより多くの情報を得ることができますか?
ありがとう
アップデート:
以下(XPCOMコンポーネントからFirefoxキャッシュにアクセスする)によると、WinInet関数GetUrlCacheEntryInfo()は、nsICacheSession.openCacheEntry()によって実行され、nsICacheEntryDescriptorを取得できます。キャッシュエントリを作成する同等のWinInet関数CreateUrlCacheEntry()はありますか?
firefox - すべてのページ要素に対して Firefox でコンテンツ コンバーターを実装するにはどうすればよいですか?
Internet Explorer プラグインを Firefox に移植しようとしていますが、必要なものをどこで探すべきかわかりません。
基本的に、特定の Content-Type ヘッダーを使用してブラウザーが受信するすべてのコンテンツをフィルター処理できる必要があります。ストリーム コンバーターを実装しようとしましたが、これは機能しますが、ページ、フレーム、または iframe の最上位のドキュメントに対してのみです。私はIEで同じ問題を抱えていました.それを回避するのは本当にハックでした.理想的にはこれをクロスプラットフォームにしたいので、vtableハックに頼らずにFirefoxでこれを実行できるようにしたいと思っています.
コンテンツは、独自の圧縮形式で圧縮されて提供されます。そのため、データを受信して解凍し、Content-Type を元の圧縮されていないファイルの内容に戻す必要があります。
受信したすべてのデータをフィルタリングする方法があれば、それはおそらく受け入れられるでしょう。ヘッダーの解析を自分で処理できます。
ありがとう
firefox-addon - nsIFile: Vista の AppData/LocalLow フォルダ パスを取得するには?
次のように、ユーザー 'AppData/Local' フォルダーへのパスを取得できます。 appdatafile = Components.classes["@mozilla.org/file/directory_service;1"]. getService(Components.interfaces.nsIProperties)。get("LocalAppData", Components.interfaces.nsIFile).path;
「AppData/LocalLow」ユーザーフォルダーを取得するのを手伝ってくれる人はいますか?
c++ - XPCOM コンポーネントを使用する Firefox 拡張機能を作成していますか?
私は、Firefox の履歴を Windows システムの履歴に書き込む Firefox 拡張機能を作成しようとしています。これは、IEとFirefox を使用して仕事をしている人々にとって役立つはずです。
ページを IE の履歴に追加するのは簡単に思えます ( IUrlHistoryStg::AddUrlで行う必要があります)。ただし、Firefox の拡張機能に関する私の経験は、XPI に一緒にパッケージ化された小さな chrome ハックに限られています。
最初に読んだ限りでは、履歴に URL を挿入する XPCOM コンポーネントを作成する必要があるようです。Javascript を使用してこれを実行できるかどうかはわかりません。また、XPCOM コンポーネントを使用する拡張機能を作成した経験もあまりありません。
Firefox 拡張機能の開発に精通している方は、XPCOM コンポーネントを使用する拡張機能、特に C++ を使用して作成された拡張機能の作成に関するチュートリアルを教えてください。または、これについて詳しく知るために参照できるコンポーネントを使用するオープンソースの拡張機能はありますか?
c++ - 外部アプリケーションから FireFox でダウンロードしたファイルのソース URL を読み取るにはどうすればよいですか?
特定の拡張子を持つファイルのデフォルト ハンドラーとして登録されている、作成した C++ アプリがあります。したがって、Web サイトから Firefox でこれらのファイルの 1 つをダウンロードすると、一時ディレクトリにダウンロードされ、コマンド ラインでダウンロードしたファイルへのフル パスを渡しながらシェルがアプリを実行します。
ディスク上のパスのみが与えられた場合、ファイルの元のダウンロード URL が何であったかを外部アプリから把握する最良の方法は何ですか? XPCOM API 呼び出しを使用して、FireFox ダウンロード マネージャー データベースを検査できますか?
このデータは、SqlLite db ファイルである「%APPData%\Mozilla\Firefox\($profile)\downloads.sqlite」ファイルに格納されていることがわかりましたが、このファイルを次のように直接開こうとはしません。 FireFox は、実行中にファイルへの書き込みハンドルを開いています。
しばらく Mozilla 開発者センターを熟読した後、nsIDownloadManagerサービスに出くわしました。しかし、別のプロセスで XPCOM からアクセスできないようです。
私が使用しているコードは次のとおりです。
これを実行すると、GetServiceByContractID() 呼び出しは 0x8007000e を返します。これは nsError.h で NS_ERROR_OUT_OF_MEMORY として定義されています。(私は非常に奇妙だと思います)。
ここに何かアイデアはありますか?私は正しい木に向かって吠えていますか?
firefox - 外部アプリから Firefox XPCOM を呼び出していますか?
コンテキスト: アプリで Firefox の Cookie を読み取る必要があります。Firefox 3.5 までは、cookies.txt / cookies.sqlite を読み取ることで可能でした。Firefox 3.5 では、Cookie ファイルを排他的にロックするため、外部アプリはそれを読み取ることができず ( https://bugzilla.mozilla.org/show_bug.cgi?id=476167を参照)、ローカル コピーを作成しても FFは読み取りません。終了するまで常に Cookie をディスクにフラッシュするとは限らないため、存在しない可能性があります。
推奨される解決策は、nsICookieManager を使用することです。これは、必要なもののように見えますが、Firefox 以外のプロセスからそれらの 1 つを取得するにはどうすればよいでしょうか?
XPCOM について私が目にするものはすべて、Firefox 拡張機能からしか使用できないことを示唆しています。拡張機能を作成してから、何らかの方法で Firefox を呼び出して拡張機能をインストールし、拡張機能自体を呼び出して Cookie を送り返す必要がありますか?
javascript - URIを使用してnsIFileオブジェクトを作成する方法
Firefoxの拡張機能を作成しています。拡張機能で「file:///home/blahblah/foo.txt」のようなファイルを開き、このファイルのコンテンツをテキスト領域に配置したいと思います。ファイル「http://」では簡単ですが、「file://」ではできません。
javascript - Google はインナーレッドになりたくない (XPCOM)
私はFirefoxの拡張機能を作ろうとしています。document.body.innerHTML = data; を使用する理由 新しく開いたタブでは機能しません。これが私のコードです:
javascript - nsIFileInputStreamおよびnsIConverterInputStreamを使用すると、ロードされたデータが切り捨てられます
私はプロジェクトに取り組んでいます(BrowserIO-コードをチェックして作業したい場合はbrowserio dot googlecode dot comにアクセスしてください。ようこそ!)この例では、FirefoxのnsIFileInputStreamをnsIConverterInputStreamと組み合わせて使用しています(https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO#Simple)が、完全なデータの一部のみがロードされています。コードは次のとおりです。
この動作を確認したい場合は、BrowserIOプロジェクトページからコードをチェックアウトし、Firebugを使用しdata = str.value;
てfile_io.jsの行にブレークポイントを設定します。次に、リストからテキストファイルを選択し、[開く]ボタンをクリックします。Firebugで、ウォッチパネルでstr.valueのウォッチを設定します。ファイルを見てください...本当に短い場合を除いて、切り捨てる必要があります。
参考までに、上記のコードは、trunk / scripts / file_io.jsのopenFile()関数の本体です。
誰かがこれで何が起こっているのか手がかりがありますか?