Tips zu Bugs im Internet Explorer 3.0

von Günter Born

Der Microsoft Internet-Explorer 3.0 weist (zumindest in der von mir benutzten deutschen Version 3.0) einige tückische Bugs auf, die dem HTML-Autor das Leben schwer machen. Ich bin beim Erstellen der CD-ROM "Publizieren im Internet und Intranet mit HTML 2.0/3.2" (Addison Wesley Verlag) auf diese Bugs gestoßen und hatte anschließend erhebliche Mühe eine für den Internet Explorer 3.0 lauffähige Version der HTML-Dokumente auf dieser CD-ROM zu erstellen. (Netscape und Internet Explorer 2.x besitzen diese Fehler nicht!). Nachfolgend finden Sie einige Hinweise und Workarounds zu diesem Thema. (Hinweise zu den HTML-Befehlen finden sich in der Datei BornHTML.ZIP, welche sich in verschiedenen Online-Foren und auf meiner Homepage befindet).

Bug bei relativen Referenzen

Relative Referenzen in HTML-Dokumenten werden in der Form:

<A HREF="./test/test.htm">Verweis auf das Ziel</A>

angegeben. Befindet sich ein solcher Verweis unter Windows im Root-Verzeichnis eines Laufwerks, erkennt der Browser zwar den Link und stellt diesen unterstrichen und farblich dar. Der Benutzer kann den Link jedoch nicht aktivieren (es passiert nichts beim Anklicken).

Sofern Sie diese Datei in ein Hauptverzeichnis eines Laufwerks (Festplatte) verschieben, wird der folgende Verweis auf den Dokumentanfang zwar angezeigt, Sie können die Referenz aber nicht anklicken.

Zum Anfang (funktioniert nicht, falls IEBugs.htm im Hauptverzeichnis liegt!)

Workaround 1

Sie können den Punkt vor der Pfadangabe innerhalb der Referenz weglassen. Dann wird der Verweis zu einer "absoluten" Referenz.

<A HREF="./test/test.htm">Verweis auf das Ziel</A>

Probleme: Dieser Workaround ist jedoch mit äußerster Vorsicht zu betrachten, er funktioniert nur unter Windows! Beim Macintosh und unter Unix gibt es keine zu Windows vergleichbaren Laufwerke. Vielmehr wird das Dateisystem als Unterverzeichnisbaum vom Hauptverzeichnis der ersten Platte aufgebaut. Dies bedeutet, daß der obige Verweis unter Unix/Mac nicht funktioniert.

Workaround 2

Die sicherste Lösung besteht darin, daß Sie alle HTML-Dateien in ein Unterverzeichnis verschieben. Dies ist wohl die übliche Situation auf einem Internet/Intranet-Server (deshalb ist der Bug wohl niemals aufgefallen). Wichtig ist lediglich, daß Sie die Referenzen nach dem Verschieben testen und ggf. anpassen.

Sie können diesen Ansatz sehr einfach testen, indem Sie das Dokument IEBugs.htm in ein Unterverzeichnis verschieben. Dann sollte der Verweis funktionieren.

Bug bei lokalen Referenzen

Sie können innerhalb eines Dokuments lokale Referenzen verwenden. Klickt der Benutzer auf eine solche Referenz, gelangt er zur betreffenden Stelle im Dokument. Eine relative Referenz könnte zum Beispiel folgendermaßen aussehen:

<A NAME="start"> </A>
Hier folgt dann der normale Text.
Dies ist der lokale Verweis.
<A HREF="#start">Dokumentanfang</A>

Ärger gibt es aber, falls zwei Anker der Form
<A NAME="start"> </A><A NAME="anf"> </A>
hintereinander stehen.

Dann weigert sich der Internet Explorer 3.0 diese lokale Referenz anzuspringen.

Workaround

Die Lösung besteht darin, daß Sie mindestens ein Zeichen (darf kein Blank sein) zwischen die beiden Anker stellen. Die obige Lösung sieht dann so aus:

<A NAME="start"> </A>
Hier <A NAME="anfang"> </A>
folgt dann der normale Text.
Hier folgt der lokale Verweis.
<A HREF="#start">Dokumentanfang</A>

Sie können anschließend mit folgender Anweisung einen Verweis auf die lokalen Anker im Dokument eingeben:

<A HREF="#start">An lokale Textstelle</A>
<A HREF="#anfang">An lokale Textstelle</A>
Hier folgt weiterer Text.

Dieser Bug hat mich ebenfalls ans Schwitzen gebracht, da ich leider einige solche Verweise in den Dokumenten hatte und Netscape 3.0 diese Stelle klaglos akzeptiert hat.

Warnung bei JavaScripts

Ein anderes riesiges Problem stellen JavaScripts im Internet Explorer 3.0 dar. Meine für Netscape geschriebenen JavaScripts (teilweise recht trivial) konnten vom Internet Explorer 3.0 nicht ausgeführt werden, weil bestimmte Funktionen nicht kompatibel sind. Die Scripts werden bei der Ausführung mit einer Fehlermeldung auf ein fehlendes Objekt abgebrochen.

Pustekuchen mit der schönen neuen Welt der 3.x-Browser...


von Günter Born