Я применил nsIWebBrowser в своем приложении. Поскольку я просто создаю HTML для этого на лету, я использую OpenStream, AppendToStream и CloseStream для добавления контента. Мне нужно добавить слушателей событий для перемещения мыши через веб-браузер, а также щелчков мышью. Я читал документацию и много раз пробовал, но ничего не пробовал. Например, код ниже, казалось бы, делать правильные вещи, но ничего не делает:Как подключить прослушиватели событий мыши к встроенным nsIWebBrowser в C++
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, он будет segfaults.
Пожалуйста, скажите мне простой способ сделать это.
У вас есть некоторые проблемы форматирования с кодом;) – sdwilsh
Было бы также неплохо, чтобы увидеть контур для 'реализации прослушивателя событий nsIDOMEventListener', как она создается , –