Наконец получил его на работу. Пришлось использовать метод, аналогичный теме, которую я связал в исходном вопросе.
/// Inside the BHO.cs file and in my namespace
/// Generic HTML DOM Event method handler.
///
public delegate void DHTMLEvent(IHTMLEventObj e);
///
/// Generic Event handler for HTML DOM objects.
/// Handles a basic event object which receives an IHTMLEventObj which
/// applies to all document events raised.
///
public class DHTMLEventHandler
{
public DHTMLEvent Handler;
HTMLDocument Document;
public DHTMLEventHandler(HTMLDocument doc)
{
this.Document = doc;
}
[DispId(0)]
public void Call()
{
Handler(Document.parentWindow.@event);
}
}
public void BrowserEventHandler(IHTMLEventObj e)
{
try
{
if (e.type == "click" && e.srcElement.id == "IDOfmyButton")
{
// do something.
something();
}
}
catch
{
}
}
Внутри моего метода OnDocumentComplete (также в том же пространстве имен, что и выше [дополнительная информация для новичков]):
DHTMLEventHandler myHandler = new DHTMLEventHandler(framedoc);
myHandler.Handler += new DHTMLEvent(this.BrowserEventHandler);
button.onclick = myHandler;
Много работы только для того, чтобы нажать кнопку. В Firefox это была одна строка: O