我在我的应用程序中嵌入了一个 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 期间添加它,则会出现段错误。
请告诉我一个简单的方法来做到这一点。