Suchtreffermarkierung in anderem Frame
Carsten Pieper
- javascript
Hallo zusammen!
Also, ich habe ein PopUp-Fenster, in dem ein CGI eine Suche auf der kompletten Internetpräsenz ausführt. Die Ergebnisse werden ebenfalls in dem PopUp ausgegeben, klickt man auf ein Ergebnis, wird eben dieses in einem Frame [mainFrame] des Hauptfensters angezeigt. Ist die Option "Treffer markieren" aktiviert, soll dort zusätzlich der Suchtreffer gehighlightet werden.
Bei der Suche hier im Forum stieß ich auf folgenden Artikel:
http://forum.de.selfhtml.org/archiv/2002/12/32518/#m176312
Das ist ja schon ein ziemlich monströses JavaScript. Ich frage mich, ob das so noch perfomant ist, oder ob ich da nicht besser mit nem weiteren CGI beraten wäre?
Außerdem frage ich mich, warum man das obige Script nicht einfacher gestalten kann? Allerdings sind alle meine Versuche bisher mit Fehlermeldungen und/oder Untätigkeiten belohnt worden:
opener.top.mainFrame.location.href=Ziel;
// Ergebnis wird in den mainFrame geladen
opener.top.mainFrame.focus();
// der dann fokussiert wird.
if (document.markierung.markieren.checked) {
// falls die Treffermarkierung aktiviert wurde...
var inhalt;
window.setTimeout("inhalt = document.getElementsByTagName('body').data",5000);
// timeout, damit das Dok genug Zeit zum geladen werden hat.
inhalt = document.getElementsByTagName('body').data;
// Das soll mein Suchstring werden, den ich dann nach dem regulären Ausdruck "Suchbegriff" durchsuchen wollte, ersetzten durch die gehighlightete Variante
alert(inhalt.length);
// Hier stellt sich aber heraus, dass inhalt gar kein String ist, entweder wird als Länge [object], ein Fehler "ist null oder KEIN Objekt", oder aber "9" ausgegeben. Ich bin mir aber ziemlich sicher dass die eigentliche HTML-Datei mehr als 9 Zeichen hat.
}
Vielleicht kann mir auch hier jemand weiterhelfen, ganz herzlichen Dank dafür auf jeden Fall schon jetzt,
Carsten