2012-03-29 10 views
0

Ich möchte ein IE-Add-on schreiben, das es mir ermöglicht, eine Telefonnummer auf einer Webseite zu finden und durch einen klickbaren Link zu ersetzen, der einen Anruf initiiert . Es sollte dem Skype-Plugin sehr ähnlich sein.Telefonnummer in BHO-Add-on für Internet Explorer finden

Ich verwende verwaltete C# 4.0 und Ich kann bereits ein Browser-Helper-Objekt registrieren und an das DocumentComplete-Ereignis anhängen.

Meine Frage ist: Was ist die effizienteste und empfohlene Möglichkeit, eine Telefonnummer zu identifizieren, da ich ein HTMLDocument innerhalb des DocumentComplete-Ereignisses habe?

Antwort

1

Verwenden Sie document.all, um alle Elemente zu erhalten (IHTMLDocument2 :: get_all in C++).

Aufzählung die Elementauflistung für jedes verwenden (verwenden Sie IHMLElementCollection :: get__newEnum, wenn Sie zu C++ wechseln).

QI für IHTMLDOMNode für jedes Element suchen Sie dann nach Textknoten der obersten Ebene unter dem Elementknoten.

Wenn die Leistung noch langsam ist, hängt Ihr Engpass wahrscheinlich mit CLR zusammen, wechseln Sie zu C++.

nachlesen: IE + JavaScript Performance Recommendations - Part 1

+0

Danke. Das war die Art von Antwort, die ich suchte! –