Frage

Ich arbeite an einem BHO / Symbolleiste in C # geschrieben, die auf den Browser des aktuellen Webseite ausgelösten Ereignisse in HTML zuhört. Die Lösung enthält eine wiederverwendbare Klasse HtmlPageEventManager, dessen Zweck es ist, zu einer vorgegebenen Liste von HTML-Ereignissen für jede neue Webseite namens zu abonnieren, die geöffnet wird. Ein Ziel ist Handler anhängen, sobald der Benutzer mit Seitenelementen interagieren beginnen kann, noch bevor die Seite zu laden abgeschlossen ist. Verwendung dieser Klasse ist einfach - einfach den Konstruktor aufrufen:

var evts = new List() {
    HtmlEvent.onclick, HtmlEvent.ondblclick, HtmlEvent.onkeydown,
    HtmlEvent.onselectstart, HtmlEvent.onselectionchange,
    HtmlEvent.onfocus, HtmlEvent.onselect
};
new HtmlPageEventManager( this, evts, this.HtmlEventHandler );

meine Lösung hier herunterladen um zu versuchen, es aus und schicken sie mir Feedback. Fühlen Sie sich frei, um es in Ihren eigenen Projekten zu verwenden, wenn Sie es nützlich finden. Obwohl es gut funktioniert, gibt es Gelegenheiten, bei denen es um die Ereignisse befestigen ausfällt. Ich habe Schwierigkeiten ausfindig diese Umstände hat. So konnte ich etwas Hilfe auf HtmlPageEventManager zu verbessern.

Meine Lösung Referenzen SpicIE 's Baugruppen, aber sie sind nicht in der obigen Download enthalten , so dass Sie es benötigen, um von der SpicIE Website . Btw, ist dies wahrscheinlich eine gute Zeit zu fragen: Wie beliebt ist SpicIE? Alle besseres Werkzeug zu benutzen?

War es hilfreich?

Lösung

Yeah! Ich überwanden die „Refresh“ Ausgabe von auf den download Veranstaltung BHO abonnieren möchte, wo ich wieder meine „RegisterEventHandlers“ Helfer-Methode aufrufen, die die HTML-Event-Handler legt. Der Code jeffamaphone verbunden war hilfreich. Ich enthielt seine Idee eines „normalPageLoad“ Membervariable bedingt RegisterEventHandlers zu nennen. Ich sah auch unter zugehörigen Forum posten . Ich kann nicht den Schwerpunkt auf das Loaded-Ereignis der Eltern verstehen, Fenster, though. Ich habe meinen Code arbeiten, ohne auch nur den Teil zu tun. Wie auch immer, ich denke, HtmlPageEventManager jetzt voll funktionsfähig ist - auf Holz klopfen. Bitte geben Sie mir einen Schrei, wenn Sie einen Fall finden, in dem es immer noch nicht ihre Arbeit tun.

Andere Tipps

Du wirst es gibt keine 100% ige Lösung zu finden, diese während der Seitenlast für IE zu tun. Es ist nicht deine Schuld: IE-Event-Modell eine riesige Spaghetti Masse von asynchronem Code ist, die es sehr schwierig macht, richtig zu machen. Wenn Sie eine Lösung haben, die 95% ist, sage ich glücklich sein und weitermachen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top