Christoph Zurnieden: Einlesen mit XMLHttpRequest() begrenzen

Beitrag lesen

Hi,

Schade, das ich die Zeilen (oder einen Bereich) nicht begrenzen kann - zumindest nicht beim einlesen. Liegt die Datei erstmal als STRING vor, kann ich natürlich diverse Bereiche rauspicken mit substring und indexOf...

Ich hätte da ja eher die Rückgabe von XmlHttpRequest genutzt und den erzeugten Baum mittels DOM geparsed. Aber gut, jeder wie's ihm gefällt ;-)

[...] und letztlich auch selbst machen ;-)

_Das_ ist hier ein _sehr_ gutes Argument! ;-)

Also selber bauen:

  • Sammel einen Inverted Index zusammen
  • kleister Javascript drum: ein Array draus machen
  • durchsuch' dann das Array
  • Ausgabe der gefundenen Vorkommen.

Das mach ich ja indirekt.

Direkt ist jedoch günstiger.

Des weiteren wäre es so nötig, die Datei immer von Hand anzupassen und auf den gegenwärtigen Stand zu bringen - bei einer Volltextsuche erübrigt sich die Arbeit ja auch, was ich eigentlich als vorteilhaft empfinde.

Aber mit dem sehr hohem Preis der Langsamkeit, die Dir auf den Senkel geht. Sonst hättest Du ja auch nicht gefragt, wie's schneller funktioniert, gelle? ;-)

Das mit dem regelmäßigen Anpassen ist kein Problem, da Du ja nur statische Seiten durchsuchst (ich habe das nicht untersucht, schließe es nur daraus, das Du ansonsten Deine Suche mit Sicherheit serverseitig implementiert hättest). Bei jeder Deiner Änderungen läßt Du eben den Indexer über Deine lokale Kopie laufen und lädst den I.I. dann einfach mit rauf.
Ein gewisses Problem ist die Phrasensuche, wäre aber auch lösbar.

Über das Suchen mit Hilfe von JavaScript oder allg. über XMLHttpRequest()?

Über eine Offline-Katalogsuche mit Javascript. Mit XmlHttpRequest() hatte ich nie ... halt, stimmt nicht, einmal doch: ich hatte mal ein Frontend für g-brief mit Mozilla in XUL gebastelt. Da hatte ich mir so den ansonsten nötigen Reload für die PDF Rückgabe gespart und konnte auch noch eine Adressen-DB live auslesen.
XmlHttpRequest() hat aber auch den entscheidenden Nachteil, das der IE es mit ActiveX implementiert hat. Bei Javascript kann man ja noch mit relativ hoher Wahrscheinlichkeit davon ausgehen, das es eingeschaltet ist, bei ActiveX liegt der Fall jedoch umgekehrt.

so short

Christoph Zurnieden