Internet Explorer unter Linux

Schon lange gibt es Ansätze, welche Webentwickeln helfen sollen den Internet Explorer auch direkt unter Linux testen zu können.
Die Möglichkeiten sind auf 2 Varianten begrenzt:

  • Emulation mit Wine
  • Ein komplettes Windows-Image in einer virtuelles Maschine, z.B. vmware

Beides hat seine Vor- und Nachteile.

Wer sich für Wine entscheidet, dem wird dieses Tool, das ich gerade gefunden habe, sehr viel Arbeit abnehmen. ies4linux automatisiert die Installation des IE 5.0, 5.5, 6.0 und in der aktuellen beta-Version auch des IE 7.

Bei einem Test meinerseits klappte die Installtion der deutschen Varianten leider nicht, die englische funtzt aber gut. Bis auf den IE7, der sich zwar starten lässt aber keine Seite anzeigt, scheinen die IEs auch zu funktionieren.

Zumindest für schnelle Tests ist diese Lösung also durchaus geeignet.

GoogleMaps: Route anpassen

Tach,

heute mal wieder was zu GoogleMaps.
Es soll darum gehen Routen, welche mit GDirections erzeugt werden im Nachhinein anzupassen, d.h. z.B. Farbe, Transparenz und Dicke der Linie, aber auch um z.B. die Symbole der einzelnen Marker auszutauschen.

Zunächst mal die Berechnung der Route selbst:

d = new GDirections();
d.color = "#FF0000";
d.loadFromWaypoints(
  ["40.000,40.000","41.000,41.000"],
  {locale: "de", getPolyline: true}
);

GEvent.addListener(d,'load',replacePolyline);

Dieser Code erzeugt ein neues GDirections-Objekt und berechnet die Route anhand von 2 Wegpunkten.
Dadurch, dass wir dem Konstruktor keine Parameter übergeben wird die Route allerdings noch nicht an die Karte gebunden, d.h. das Overlay wird nich eingeblendet und die Karte wird auch nicht gezoomt oder verschoben.
Wir registrieren uns außerdem einen Event-Handler, der anspringt, sobald unser GDirections-Objekt alle erforderlichen Berechnungen durchgeführt hat.
Ist dies der Fall, wird unsere Funktion „replacePolyLine“ aufgerufen.

function replacePolyline() {
	
        // Original Polyline verstecken
	this.getPolyline().hide();

	var points = [];
	var poly = this.getPolyline();
	for (var i = 0; i < poly.getVertexCount(); i++) {
		points[i] = poly.getVertex(i);
	}

	var p = new GPolyline(points, this.color, 5, 0.5);
	zoomAndMove(p.getBounds());
	map.addOverlay(p);

}

Diese Funktion versteckt nun die originale Polyline unseres GDirections-Objekts und erzeugt stattdessen eine eigene, der wir nun ein beliebiges Aussehen verpassen können.
Danach wird die Karte mittels der Funktion „zoomAndMove“ noch auf die richtige Ansicht gebracht.

function zoomAndMove(b){

	var clat = (b.getNorthEast().lat() + b.getSouthWest().lat()) /2;
	var clng = (b.getNorthEast().lng() + b.getSouthWest().lng()) /2;
	map.setCenter(new GLatLng(clat,clng),map.getBoundsZoomLevel(b));

}

Das wars auch schon. Eigentlich gar nicht so kompliziert.

IETester

Hi,

heute hab ich was verdammt cooles gefunden, das sich jeder Web-Entwickler wohl schon mindestens einmal gewünscht hat. Alle wichtigen Internet Explorer Versionen parallel und einfach zu bedienen auf einem System. Bisher war der einzig brauchbare Ansatz die Virtual-PC Images, die Microsoft zur Verfügung stellt.

Dank dem IETester sind diese Zeiten nun vorbei. Mit diesem super Tool kann man seine Seiten ganz bequem mit dem IE in den Versionen 5.5,6,7 und sogar 8 beta 1 testen!

Ein kurzer Test war durchaus positiv, obwohl sich die Software noch im Alpha-Stadium befindet.

Tolles Teil :)

overflow:auto, position:relative und der IE

Hiho,

grad mal wieder über einen CSS-Fehler im IE 6 gestoßen.
Will man, dass ein Element bei Bedarf scrollt, verwendet man in der Regel overflow: auto.
Das funktioniert soweit ganz gut. Allerdings nur, solange das Element keine Kinderelemente enthält, welche die Eigenschaft position:relative besitzen. Ist dies der Fall tritt beim IE6 (vermutlich auch beim IE5.X) ein Fehler auf und der Inhalt tritt aus dem Container-Element heraus.

#container {
  height: 20px;
  overflow: auto;
}

li {
  position: relative;
}
<div id="container">
  <ul>
    <li>Listeneintrag</li>
  </ul>
</div>

Abhilfe schafft hier ein simples position: relative im Container-Element.
So einfach ist die Lösung, man muss es nur wissen ;)

object doesn’t support this property or method

Hi,

bin grad mal wieder über ein total dämliches Problem mit dem Internet Explorer gestolpert.

element = document.getElementById('element');

Das wird einen Fehler werfen, sobald ihr auf element zugreifen wollt.
Warum? Tja, eigentl eine gute Frage. Die Antwort ist umso schockierender.

Der Internet Explorer scheint sich intern für jedes Element mit einer eindeutigen ID bereits eine Variable zu reservieren. Ergo, der Versuch diese zu überschreiben schlägt fehl und somit auch alle späteren Versuche darauf zuzugreifen.

Abhilfe schafft hier einfach das Wählen eines anderen Variablennamens.

Tasks in der Taskleiste verschieben

Hi,

endlich hab ich mal wieder was zu berichten. Sicher kennt der eine oder andere das Problem, dass er gerne die Tasks in der Windows-Taskleiste verschieben würde. Nur leider hat es Microsoft auch bei ihrem tollen neuen super mega Vista nicht geschafft, diese doch eher simple Funktionalität zu integrieren.

Abhilfe schafft ein kleines Tool, Taskbar++.
Die Seite ist zwar auf Japanisch, aber keine Angst, das Programm bietet auch eine englische GUI ;)