Hi,
ich würde gerne wissen wie ich euer beispiel für ein wörterbuch auch unter Mozilla Firefox und opera zum laufen bringe.
Indem Du Dir "recordset" mit all seinen Funktionen selber baust. Alledings: wüßtest Du schon, wie das im Prinzip geht, hättest Du nicht gefragt (behaupten, das man Anfänger ist kann schließlich jeder, wenn man sich nicht gerade kennt ;-).
Hilfe zur Selbsthilfe (Javascript mußt Du dann selber lernen):
- reine Textdateien sind nicht zu handeln. Am einfachsten für ein Lexikon wäre die Einbindung als Javascript, z.B. als mehrdimensionales Array.
- zur Durchsuchung würde ich zwei Algorithmen empfehlen: lineare und binäre Suche (für beide Methoden habe ich hier im Forum einmal fertigen Code gepostet, schau einfach mal in's Archiv, bin jetzt zu faul zum selber suchen). Die lineare Suche sollte mit der Möglichkeit gebaut werden die Eingabe als RegEx Objekt zu sehen. Für die binäre Suche suchst Du Dir eine Spalte aus, die wahrscheinlich am häufigsten benutzt wird und sortierst das gesammte Array "stabil" danach. "Stabil" bedeutet hier, das die Reihenfolge der Reihen erhalten bleibt und nicht mitsortiert wird.
- wenn das Lexikon groß wird (so ab rund 500 kib gibt's bei dem einen oder anderem Browser einen kleinen "Schluckauf") mußt Du das teilen und nachladen. Für das Nachladen gibt es vier Möglichkeiten:
a) komplett und alles.
b) per xmlHttpRequest() (kann doch der Opera auch, oder?)
c) per dynamischer src-Attributänderung im <link> Element
d) per (i)frame
Die eleganteste Lösung ist hier natürlich b), jedoch ist sie nicht sonderlich portabel. Insbesondere benötigt xmlHttpRequest() im IE eingeschaltetes ActiveX, was meist abgeschaltet oder doch zumindest stark funktionsreduziert ist. Möglichkeit a) ist zwar die plumpeste aber auch portabelste Lösung. Die restlichen beiden Möglichkeiten unterschieden sich nicht sonderlich in der Komplexität. Ob eines davon portabler ist habe ich noch nicht untersucht. Aus dem Bauch raus würde ich aber die (i)frame-Lösung bevorzugen auch wenn c) deutlich eleganter wäre.
so short
Christoph Zurnieden