|  |  | Homepagebau | 
 |  | ||
|  | ||||||
Bugs in Browsern
Schwierigkeitsgrad: 



| Irgendjemand hat mir mal gesagt, man müsse sich nur an die Vorgaben der jeweiligen Standards halten und schon funktionieren Webseiten problemlos auf jedem Browser der Welt... schön wär's. Tatsache ist, dass eigentlich alle Browser sich zwar ungefähr an den Vorgaben des W3C-Standards orientieren, aber wirklich erfüllt werden sie praktisch nie. | Dieser Report soll ihnen die schmerzlich gesammelten Erkenntnisse aus mehreren Jahren Umgang mit nicht erfüllten Standards und Programmierfehlern vermitteln und Lösungsvorschläge anbieten. | 
| Y2K-Fehler Es gibt einen
    Y2K-Bug in Netscape und Opera bis zur Version 6. Dabei liefert  Lösungsvorschlag: eingeschränkte Parameterübergabe Ein im Opera geladenes JavaScript kann den Inhalt der URL
    des gerade geladenen Dokuments, sowie die darin möglicherweise für das
    Skript übergebenen Parameter nur dann lesen, wenn das Skript direkt im
    Dokument selbst steht. Wird das gleiche Skript aus einer Datei über das
    Attribut  Speicherproblem
    bei Skripten Im Netscape Navigator, bzw. Communicator gibt es einen Fehler bei der Speicherbelegung. Dieser tritt aber nur beim allerersten Dokument oder Frameset auf, das nach dem Start des Navigators geladen wird. Für dieses Dokument wird nicht genügend Speicher bereitgestellt. Daher werden Skripte, die eine gewisse Länge überschreiten nicht mehr ausgeführt. Lösungsvorschlag: Größe von Bildern Der Opera-Browser hat eine
    gravierende Beschränkung was Bilder angeht. So ist es im Opera weder
    möglich die Eigenschaften " Lösungsvorschlag: Fehler
    bei Number-Objekt Im Netscape Navigator funktionierte die Funktionen  Lösungsvorschlag: Höhe
    von I-Frames Der Netscape Navigator hat einen Bug, was das Attribut "height" des Tags IFRAME angeht. Der hier angegebene Wert wird ignoriert. IFRAMEs sind damit zwar im Netscape 6 integriert, richtig funktionieren tun sie jedoch erst seit Kurzem. Speicherleck
    bei setTimeout() Die Funktion  Fehler bei CSS 2.0 Die Positionierung von Layern über " CSS: Rahmen bei Bildern Wird über CSS für ein Bild ( Sicherheitslücke in JScript Der Microsoft-Ableger von JavaScript: JScript hat
  eine Sicherheitslücke, die es möglich macht, über die Funktion " Wie der Datenklau genau funktioniert lassen wir hier einmal offen. Lösungsvorschlag: Java 1.2 nicht unterstützt Der Internet Explorer nutzt für die Interpretation von Java-Applets (Java: ist
  nicht gleich JavaScript!) nicht etwa die Original
  JVM (Abk. = Java Virtual Machine) von Sun sondern
    ein von Microsoft entwickeltes Plagiat das bei weitem nicht an die
  eigentlich gewünschte Qualität heranreicht. Nebeneffekt des Ganzen: Java 1.2
  wird vom Internet Explorer 6 noch nicht unterstützt. Sind beide
  Versionen (Original und "Fälschung") installiert, verwendet IE
  bevorzugt die veraltete Microsoftfassung. | Bug bei Pattern-Match Die regulären
  Ausdrücke sind im Internet Explorer unvollständig umgesetzt. Ein Quantifier
  ( Erläuterung:
  Seit JavaScript 1.2 ist die Verwendung von regulären Ausdrücken und
  Mustervergleichen erlaubt. Dabei gibt es seit jeher einige Verwirrung um den
  Ausdruck " Beschränkung der Länge der URL Abhängig von der Art des verwendeten Systems kann die Anzahl der Stellen, die eine aufgerufene URL haben darf variieren. Das hat einen Einfluss auf übergebene Parameter. Ist die URL (inklusive dieser Parameter) zu lang, werden alle überstehenden Zeichen einfach gelöscht. Lösungsvorschlag: Fehler bei document.write() Dies betrifft HTML-Seiten, die dynamisch über
  JavaScript erzeugt werden sollen. Lösungsvorschlag: Größenveränderung
  des Fensters Netscape 4 lädt die aktuell anzeigte Seite neu, sobald der User die Größe des Fensters verändert. Globale Variablen von laufenden JavaScripts werden dabei allerdings gelöscht. Die evtl. auf der Seite enthaltenen Skripte werden nicht neu interpretiert. Dies kann ein laufendes Skript natürlich zum Absturz bringen. Lösungsvorschlag: Fehler im JavaScript-Interpreter Der JavaScript-Interpreter des Opera 
  6 steckte seiner Zeit noch in
  den Kinderschuhen. Nicht nur dass der Interpreter der alten Version schleichend langsam 
  ist, er ist auch sehr
  empfindlich. Werden im Opera 6 mehrere JavaScripts gestartet während bereits
  ein anderes Skript ausgeführt wird, kann dies in einigen Versionen den Browser 
  komplett zum Absturz
  bringen. Hierfür gibt es leider keine Skriptlösung, es sei denn sie nehmen
  dem System die Kontrolle über die Skriptprozesse aus der Hand, indem sie eine
  globale Variable definieren die jedes Skript beim Start setzt und wieder
  annulliert, wenn es fertig ist. Ein zweites Skript könnte nun feststellen,
  dass bereits ein Skript läuft und die Ausführung über den Aufruf  Betreten
  einer Seite Das Ereignis  Verlassen einer Seite Das Ereignis  Problem
  mit .innerHTML Netscape 7 kann (im Gegensatz zum Vorgänger) mit
  der Eigenschaft " Lösungsvorschlag: JavaScript-Konsole in Netscape 7 Netscape hat in Version 7 eine neue JavaScript-Konsole für Webentwickler eingebaut, die - wenn aktiviert - jeden Aufruf protokolliert. Ergebnis: bei aktivierter Konsole ist der JavaScript-Interpreter jetzt so langsam, dass sie sich bequem zwischenzeitlich einen Kaffee holen können, bis sich eine komplexe Internetseite mit JavaScript aufgebaut hat. Dieses Tool ist nur für Entwickler zur Evaluation gedacht und nicht für den Normalbetrieb im Internet. Ergo: Nutzer des Browsers sollten beim Surfen die Konsole stets deaktivieren! neuere CSS-Standards fehlen Weil es seit geraumer Zeit für den Internet Explorer keine Aktualisierungen auf den neuesten Standard des W3C mehr gegeben hat, werden eine Reihe von neueren CSS-Kommandos ab CSS 2.1, im Internet Explorer nicht unterstützt. Dies betrifft unter anderem folgende Anweisungen: 
  Beispiele: | 
| Autor: Thomas Meyer | Home: www.All-Community.de | Kontakt: |