Schlagwort-Archive: Internet-Explorer

Webtool: Browsergröße ändern

Ich bin heute über einen Link gestolpert, mit dem man mal eben das Browserfenster auf verschiedene Größen einstellen kann: resizeMyBrowser.

Gut, das kann der Webdeveloper-Toolbar auch, aber der o.g. hat diverse Größen für mobile Geräte parat und funktioniert – ohne eine Installation – auf verschiedenen Browsern1. Das ist nicht ganz unwichtig, wenn man das mal nicht auf seinem eigenen Rechner nutzen will, um jemanden etwas vorzuführen.

Einzig die Einstellung „Maximum“ funktioniert nicht ganz zufriedenstellend. Hier öffnet sich – je nach Einstellung des Popup-Blockers – ein neues Browserfenster.

  1. Getestet habe ich Firefox 3.6, IE6 – 8, Safari 5 (Win), Konqueror 4.1.3

Script-Fehler beim IE6 finden

Meldet der IE6 einen Javascript-Fehler, der sich im Firefox nicht nachvollziehen lässt, so wird es schwierig. Der IE6 meldet zwar, er hätte in der Datei xy.php in Zeile x bei Zeichen y einen Fehler gefunden, aber diese Angaben sind irreführend. Oder doch nicht? Wie man dem Fehler auf die Spur kommen kann zeige ich hier.

Beim Aufrufen einer Seite wird zum Beispiel die folgende Fehlermeldung angezeigt:

Screenshot der 1. Fehlermeldung

Im Prinzip ist die Angabe von Zeile und Spalte gar nicht so verkehrt, nur die Datei-Angabe stimmt meist überhaupt nicht, da eine HTML-Seite zum einen oft aus verschiedenen Teilen per PHP zusammengesetzt wird und zum anderen der Javascript-Code häufig in eigene Dateien ausgelagert ist.

Um nun herauszubekommen, in welcher Datei der Teufel im Detail steckt, muss man den Debug-Modus aktivieren und die Anzeige der Script-Fehler ausschalten. Dies geschieht in Extras » Internetoptionen » Erweitert. Dort werden, wie unten gezeigt, die Häkchen bei »Skriptdebugging deaktivieren« und bei »Skriptfehler anzeigen« entfernt. Danach muss der IE neu gestartet werden, damit die Änderungen wirksam werden.

Screenshot der Internetopionen des IE6

Wird nun die betreffende Seite erneut aufgerufen, sieht die Fehlermeldung etwas anders aus:

Screenshot der 2. Fehlermeldung

Hier ist nun auch erstaunlicher Weise von Zeile 14 die Rede! Klick man nun auf »Ja«, wird der IE-Debugger gestartet und die Datei geladen und angezeigt, in der der Internet-Explorer den Fehler gefunden hat. Der Cursor wird allerdings an die Position gesetzt, die in der ersten Fehlermeldung angezeigt wurde: Zeile 15, Spalte 22.

Ausschnitt der Debug-Anzeige

Wenn wir uns aber an die Angabe aus der zweiten Fehlermeldung (Zeile 14) erinnern und unser Augenmerk auf die Zeile über dem Cursor richten, sehen wir dort in Spalte 22 einen zweiten Punkt, der dort nicht hingehört. Dies ist der Fehler!

Das Verfahren ist etwas umständlich, aber immerhin zielführend. Und wenn man sich erst einmal daran gewöhnt bzw. damit abgefunden hat, ist es recht nützlich.

Browserweiche mit conditional comments für IE 7

Bislang wurden bei Browserweichen meist nur zwischen Internet-Explorer und Nicht-Internet-Explorer unterschieden. Nun muss aber häufig auch erkannt werden, ob es nicht vielleicht ein IE 7 ist.

Denn dieser Browser hat nun einige der Bugs der Vorgängerversionen behoben und die Hacks dürfen hier nicht mehr zur Anwendung kommen. Grundsätzlich kann man mit

<!--[if lt IE 7]>
MSIE der alten Art (4.0 ... 6.0)
<![endif]-->

alle alten IE filtern.

Wird eine genauere Differenzierung benötigt, können die „Conditional Comments“ auch verschachtelt werden:

<!--[if lt IE 7]>
  <!--[if gte IE 5.5]>
  IE 5.5 ... 6.0
  <![endif]-->
  <!--[if lt IE 5.5]>
  4.0 ... 5.0
  <![endif]-->
<![endif]-->