アプリケーションにnsIWebBrowserを埋め込みました。その場でHTMLを生成しているだけなので、OpenStream、AppendToStream、およびCloseStreamを使用してコンテンツを追加しています。私が必要としているのは、マウスのクリックだけでなく、Webブラウザ上でのマウスの移動のためのイベントリスナーを追加することです。私はドキュメントを読み、さまざまなことを試しましたが、試したことは何もうまくいきませんでした。たとえば、以下のコードは正しいことをしているように見えますが、何もしません。
nsCOMPtr<nsIDOMWindow> domWindow;
mWebBrowser->GetContentDOMWindow(getter_AddRefs(domWindow));
if (!mEventTarget) {
mEventTarget = do_QueryInterface(domWindow);
if (mEventTarget)
mEventTarget->AddEventListener(NS_LITERAL_STRING("mouseover"), (nsIDOMEventListener *)mEventListener, PR_FALSE);
}
これは初期化中に実行されますが、コンテンツが実際に追加される前に実行されるため、おそらく機能していません。ただし、AppendStreamまたはCloseStream中に追加すると、segfaultが発生します。
これを行う簡単な方法を教えてください。