Nun denn. Ich habe das Kompressionstool noch einmal überarbeitet, und ab sofort steht es unter
<http//steffengerlach.de/freeware/hc.zip>
zum Download bereit. (Windows-Version, Freeware, 137K) Die Funktionsweise ist ganz einfach: Zeichenketten werden bei wiederholtem Vorkommen nicht wiederholt, sondern es wird nur noch auf das erste Auftreten verwiesen. Beim Entpacken werden die referenzierten Zeichenketten dann wieder komplett eingefügt. Der Kompressionseffekt hängt natürlich stark von der Art des Dokuments ab.
Wo der größte Nachteil liegt merkst du, wenn du die eine derart komprimierte Seite aufrufst - dann ist nämlich erstmal Warten angesagt, wobei Netscape hier den Vogel abschießt. (Ich habe auch schon an anderer Stelle feststellen müssen, daß die NS-JavaScript-Implementierung wesentlich langsamer ist als die von MS.)
Aber bei deiner Seite scheint das Ganze sowieso nicht zu funktionieren. :-( Das Dokument wird zwar komprimiert (auf 8.6K) und korrekt entpackt, aber irgendwie falsch angezeigt. Bei Netscape fehlt der untere Bereich, beim IE der ganz rechte. Daß der Text korrekt entpackt wird weiß ich, weil der MSIE - im Gegensatz zu Netzscape - den Seitenquelltext NACH der Dekompression anzeigt. ( --- Den 95%-igen Quelltextschutz können wir also vergessen, den gab es nur bei einer früheren Variante, wo ich zum Schreiben noch innerHTML statt document.write verwendet habe. Da brauchte man schon einen Java- oder C-Compiler, um am den Klartext zu kommen. --- ) Wenn ich den entpackten Quelltext als HTML speichere und dann im Browser öffne, kommt die Seite dann so, wie es sein soll. Irgendwie machen die Browser also bei document.write nicht genau dasselbe wie beim Öffnen einer Datei - zumindest nicht im Falle deiner Seite, bei meiner eigenen Testseite gab es keine Probleme.
Ich muß hier noch anfügen, daß ich nicht gerade ein JavaScript-Experte bin. Ich programmiere zwar schon eine ganze Weile, mit JS aber erst seit ein paar Wochen. Wenn sich jemand einigermaßen gut mit JS auskennt, könnte er vielleicht den Algorithmus wesentlich beschleunigen. Vielleicht sind die Möglichkeiten zur String-Manipulation doch nicht so begrenzt, wie es mir erscheint. Der größte Knackpunkt ist aber, den entpackten Text ins Dokument zu bekommen. document.write scheint nicht so optimal zu sein, und was ich vorher ausprobiert hatte, war noch schlimmer.
Nochmal zu den 32K: Wenn der Platz unter favicon.de wirklich so knapp ist, warum lagerst du nicht ein paar Dateien (z.B. Inline-Bilder, falls dort welche sind) anderswohin aus?
Steffen