www.damot.org

Von führenden Herstellern empfohlen


Under Pressure: Wenn dem Internet Explorer der Schweiß ausbricht

It’s the terror of knowing
what this world is about
watching some good friends
screaming “Let me out!”

Oh Internet Explorer 6, lieber lieber Internet Explorer, wie tut es mir Leid, dich auf deine alten Tage noch so quälen zu müssen. Das hast du nun wirklich nicht verdient! Du solltest dich in Ruhe zurücklehnen und “Der Winzerkönig” gucken können, aber wir dreckigen Entwickler lassen dich ja einfach nicht in Frieden!
Doch langsam! Worum geht es überhaupt?
Also, wie bereits erwähnt, arbeite ich mit an der Tippspielplattform kicktipp.de. Genauer gesagt an der Möglichkeit, Tipprunden per Javascript in eigene Seiten einzubetten.
Das funktioniert soweit ja auch ganz wunderbar, nur zeigte sich, dass die eingebetteten Elemente sich im Internet Explorer 6 seltsam verhielten. Sehr seltsam.
So seltsam, dass eine Seite komplett geladen sein konnte. Alles da, wunderbar. Beim Wechsel auf eine andere Seite konnte immer noch alles wunderbar sein, gerne auch nach zehn weiteren Wechseln. Doch irgendwann würden plötzlich die eingebundenen Elemente verschwinden. Das konnte die Sprachwahl sein, die plötzlich nicht mehr da war. Oder das Menü. Oder der Inhalt. Oder eine Kombination aus diesen dreien.
Nach langem Suchen stellte sich heraus, dass der einzige wirklich nennenswerte Unterschied zwischen unserem Test-Setup und dem Live-System ist, dass unsere lokalen Tests immer auf Jetty liefen, während die Live-Server allesamt Tomcats sind.
Und tatsächlich streckte der IE bei einer lokalen Tomcat-Installation auch alle Viere von sich.
Lange Rede, kurzer Sinn, am Ende stellte sich heraus, dass auf allen Tomcats die Kompression der Inhalte eingeschaltet war. Und siehe da, ein sogar lange bekannter Fehler des Internet Explorer ist es, dass ihn angesichts komprimierter Inhalte schwere Schwindelgefühle überkommen. Armes Ding.
Am Ende, nach knapp zwei Tagen der Suche, war des Rätsels Lösung, diese Zeile:

<Connector [..] compression=”on” [..] compressableMimeType=”text/html,text/xml,text/css,text/javascript” />

umzuändern in diese Zeile

<Connector [..] **compression=”on”** [..] compressableMimeType=”text/html,text/xml,text/css” />

Um ba ba be
Um ba ba be
De day da
Ee day da - that’s o.k.

NOVA - Teil 3: Parker - Kapitel 3

In gelassenem Tempo schleppte das Bergungsschiff die HANNA dem PARKER-Kreuzer entgegen. Um die gewaltige Kugel herum hatte sich ein reger Flugverkehr entwickelt. Im Sekundentakt verließen Transporter ihr Mutterschiff und flogen Timmans Planet an.
Die LR-017-19 flog in einen von zwölf Tunneln ein, deren Öffnungen entlang des Äquators des Kreuzers in das Schiff hinein führten. Durch ein Fenster konnte Ismael die zahlreichen Landeplätze sehen, auf denen schwer beschädigte Schiffe lagen. Feuerwehren kämpften gegen den Brand an, der eine kleine Yacht zu verschlingen drohte. Krankenwagen fuhren im Eiltempo durch das Gewirr an Schiffen und Trümmerteilen.
Tief im Inneren des Schiffes, wo die Lage ruhiger schien, landete die LR-017-19. Hier gab es keine Brände, eilten keine Ambulanzen umher. Abseits des Landefeldes standen zwei Sanitäter mit einer Bahre.
Read the rest of this entry »

NOVA - Teil 3: Parker - Kapitel 2

Die HANNA hing antriebslos im Raum, eingebettet in einen gelben Himmel. Überall trieben brennende Wracks, flammten Triebwerke auf. Die Beiboote des PARKER-Schiffes, das vor wenigen Minuten in das System eingedrungen war und dessen Präsenz die Flotte der Allianz mit einem Schlag verjagt hatte, glitten durch das Schlachtfeld und bargen all jene angeschlagenen Schiffe, für die noch nicht alle Hoffnung verloren war.
Ein Ruck durchfuhr Ismaels Schiff, als die LR-017-19 es mit seinem Greifarm packte und vorsichtig drehte, bis die Frachtluke der HANNA in Richtung des Bergungsschiffes gewandt war.

Read the rest of this entry »

NOVA - Teil 3: Parker - Kapitel 1

Ruckartig fährst du aus deinem Schlaf auf. Dein Bett, es ist nass von deinem Schweiß. Du schmeckst das Salz auf deinen Lippen. Dein Atem geht schnell, geht schwer.
Wovon hast du geträumt? Was hat dich so in Aufregung versetzt? Es will dir nicht mehr einfallen. Du weißt, dass es der selbe Traum war, den du schon seit Monaten hast. Nur dich an den Traum zu erinnern, das will dir nicht gelingen.
Du weißt, dass du beobachtet wirst, als du aus deinem Bett steigst. Überall um dich herum, winzige Augen, alle beobachten sie nur dich. Jede Bewegung. Nichts wird dem Zufall überlassen, denn in diesen Tagen bist du unersetzlich.
Mit einem Knopf öffnest du das Fenster in deiner Kabine. Selbstverständlich ist es kein echtes Fenster. Dich nur durch eine Glasschicht vom Vakuum des Raumes zu trennen wäre töricht. Aber die Projektion ist so täuschend echt, dass du dich in ihr zu verlieren vermagst.
Die Sterne dort draußen stehen dicht an dicht. Du weißt, was du siehst. Zehntausend Sterne, winzige Sterne, gigantische Sterne, Sterne aus Metall. Eine Milliarde Menschen, wartend.
Die größte Flotte in der Geschichte der Menschheit. Eine ganze Generation, die unterschiedlichsten Welten, einst zerstritten, nun vereint unter deinem Banner.
Eine Milliarde, bereit dir zu folgen, bis zu jenem schicksalhaften Punkt, an dem ihr die Fundamente der Welt, aller Welten, niederreißt. Jener Punkt, an dem ihr das Universum, die Kulisse in diesem finsteren Schauspiel, in Stücke schlagt. Das Experiment, welches entscheidet, ob die Schöpfung bestehen wird oder alles Sein endet.

Spiel und Spaß mit Charsets

Seit einiger Zeit schon bietet Kicktipp eine Lösung an, mit der Kunden mit “Profirunden” ihre Tipprunde per Javascript in ihre Seite einbinden können. Mehr als ein einziges Script-Tag ist nicht nötig und schon erscheint die Tipprunde auf einer beliebigen Seite.

Nun melden Kunden, dass Sonderzeichen auf bestimmten Seiten nicht korrekt angezeigt würden. Während der Testphase war das Problem nicht aufgetreten, doch nun zeigte sich uns der Kampf zwischen ISO und UTF mit all seinen unmenschlichen Folgen.

Das Setup war folgendes: Der Server liefert seinen Output generell in UTF-8. Auf Seiten des Kunden kann die Einbindung jedoch sowohl in ISO- als auch UTF-Seiten erfolgen. Auf Seiten, die in UTF-8 kodiert waren, war die Darstellung nun im Eimer. Es gab jedoch eine Stelle im Code, an der sämtlicher Output generell in ISO umgewandelt wurde. Dieser Code musste nun leider seinen Hut nehmen.

Jetzt wurde zwar der Content in UTF-Seiten und ISO-Seite vernünftig angezeigt, jedoch konnten nun Formulare, die von ISO-Seiten aus abgeschickt wurden, nicht richtig interpretiert werden. Hier hilft das schöne Formularattribut “accept-charset” weiter. Diesem gibt man als Wert einen Zeichensatz mit, werden die Daten in diesem Zeichensatz verschickt, egal wie die Seite selber kodiert ist.


Doch ach, der IE! IE6 spielt das Spiel leider nicht mit. Doch hierfür gibt es einen neckischen Workaround. Einige Browser unterstützen die Funktion, ein Formularfeld namens “_charset_” mit dem verwendeten Zeichensatz zu füllen. Wir haben also allen Formularen ein Hidden-Feld mitgegeben, das das Attribut name=”charset” hat. Und wenn dann der Server sieht, dass ihm der IE6 Formulardaten im _charset_ ISO geschickt hat, wandelt er sie vorher schnell in UTF um.


Ganz einfach, was? Hat auch nur 6 Stunden gedauert.

NOVA - Teil 2: Der Kessel - Kapitel 7

Tausende Schiffe hingen in der Luft, im Zaum gehalten nur von den noch immer verschlossenen Toren zur Außenwelt. Wilde Stürme verwüsteten den Boden, verursacht von den Triebwerken der wartenden Raumer.
Ismael starrte gebannt auf das Tor vor ihm, die Finger fest um das Steuer gelegt. Er war sich dessen nicht bewusst, aber seine zitternde Kehle summte leise bebend die Melodie eines alten Liedes, das er einmal als Kind in der Schule gehört hatte. Es war eine traurige Melodie, in der Leid und Verlust mitschwangen, die vom Ende einer Liebe erzählte ebenso wie vom Ende eines Lebens.
Ismael ließ die HANNA sanft ein wenig fallen, schob sich hinter einige weitere Schiffe, versuchte sich zu verstecken.
Read the rest of this entry »

NOVA - Teil 2: Der Kessel - Kapitel 6

Ismael und Thomas saßen mehrere Stunden beisammen, warteten auf die Ergebnisse Ismaels neurologischer Tests, verzögert durch die immer wieder eintreffenden Opfer des Bombardements, und redeten.
Thomas hatte Ismael kurz nach seinem Erwachen gefragt, wer Hanna sei. Anscheinend hatte er in seinen Träumen laut gesprochen, immer wieder ihren Namen gerufen.
Und so erzählte Ismael dem Apachen alles. Wie sie sich einst, damals noch Kinder, begegnet waren, beide Waisen. Ismael hatte seine Eltern nie gekannt, war bereits seit frühester Kindheit im Waisenhaus aufgewachsen. Hanna, ein Jahr jünger als er, hatte ihre Eltern an ihrem fünften Geburtstag verloren und war kurz darauf ins Heim gekommen.
Ismael war beim besten Willen nicht der stärkste Junge im Heim gewesen, aber als er gesehen hatte, wie dieses kleine Mädchen, schüchtern zwischen dem ihr wild ins Gesicht hängenden blonden Haar hervor guckend, durch die Gänge geführt wurde, wie es so verloren wirkte in dieser Welt, die ihm schon vertraut war, da wusste er, dass er für sie da sein musste.
Read the rest of this entry »

NOVA - Teil 2: Der Kessel - Kapitel 5

Byron war kein Arzt. Niemand konnte von ihm erwarten, all die Fachbegriffe, die ihm um die Ohren gehauen wurden, zu verstehen oder wenigstens zu behalten. Er nickte freundlich, brummte ein paar Male zustimmend, wenn die behandelnde Ärztin ihn während ihrer Vorträge anblickte und hoffte einfach, dass ihm die seltsame, mit einer zähen gelblichen Masse angefüllte Form in seinem Mund, wirklich helfen würde. Bisher spürte er nicht viel, außer dem brennenden Gefühl, das die gelbe Masse in seinem geschundenen Kiefer verursachte.
Tanya, die lange Zeit abseits gestanden und die Krankenstation beobachtet hatte, trat zu ihm. Mit aller Kraft verzog Byron seine Miene so, dass die Frau ihm seine Schmerzen hoffentlich nicht anmerkte. Er bemühte sich um ein Lächeln, welches durch die Ansammlung von Metall in seinem Mund tragisch verunglückte.
“Bie Ärpfin pfagt —”, versuchte er ein Gespräch zu beginnen, Tanya von der heroischen Bezwingung seiner Pein zu überzeugen, doch auch das wollte ihm nicht gelingen. Er klang eher, als habe er ein Stück Metall in seinem Mund. Er brachte ein kurzes, schief klingendes Lachen hervor.
Die Ärztin, eine gewisse Doktor Nigham, wandte sich Tanya zu. “Keine Sorge, ihm wird es bald wieder gut gehen. Die Schiene in Herrn of Cherokees Mund sorgt jetzt erst einmal für die nötige Stabilität, während die Paste dafür sorgt, dass die Wunden desinfiziert werden und die Brüche beginnen, sich zu schließen. In einer Stunde etwa werde ich dann damit beginnen können, die ausgeschlagenen Zähne wieder einzusetzen.” Alle drei blickten gleichzeitig auf eine kleine weiße Schale auf einem neben dem Bett stehenden Gerätewagen, in der sechs inzwischen nur noch leicht blutige Zähne lagen. “In zwei Stunden sollte er wieder in Ordnung sein. Ein paar Tage keine allzu feste Nahrung, und die Zähne sind wie neu.”
Byron traute der Ärztin nicht. Ihre Stimme war zittrig, ihr Blick riss sich immer wieder von Tanya los und wanderte durch den Raum, so als suchte sie irgendwas, einen Fluchtweg vielleicht, oder auch nur einen erfahreneren Arzt, der ihr sagte, was zu tun war.
Read the rest of this entry »

NOVA - Teil 2: Der Kessel - Kapitel 4

Ismael kannte diesen Morgen nur zu gut. Gleich würde die Sonne hinter den Häusern am See emporsteigen, würde durch das Fenster, durch den Spalt zwischen den Vorhängen scheinen, ihn mit ihren warmen Strahlen kitzeln, bis er erwachte.
Die Nacht war ruhig gewesen. Aus dem Süden hatte er einige Schüsse und Explosionen gehört, aber keine außergewöhnlichen Aktivitäten. Die Offensive der Regierungstruppen in der Innenstadt war vor Tagen zum Erliegen gekommen. Die Fronten waren in ihrer Bewegung erstarrt. Wichtiger noch, man hatte die Friedensverhandlungen wieder aufgenommen. Das Ende des Krieges war in den vergangenen zwei Jahren noch nie so nahe gewesen.
“Ismael?”
Ismael fuhr auf. Die Stimme hatte eindeutig einem Mann gehört. An sich war das nicht schlimm, doch befand sich kein weiterer Mann mit ihm im Zimmer. Ganz langsam stand er auf, darauf bedacht kein Geräusch zu verursachen, das Hanna aufwecken könnte. Er hatte ihr das Bett überlassen, selber auf dem Boden geschlafen, der Tür gegenüber. Darum war es doch auch unmöglich, dass hier noch jemand war, oder?
“Ismael?”
“Schlaf doch weiter. Wir haben noch ein paar Stunden Zeit.” Er hatte Hanna doch aufgeweckt. “Ich wollte dich nicht aufwecken, tut mir Leid.”
Hanna gähnte leise und drehte sich um, der Tür und Ismael den Rücken zuwendend. “Das macht doch nichts, du hast es ja nicht mit Absich—” Und schon war sie wieder eingeschlafen.
Sie waren alleine. Dessen konnte Ismael sich sicher sein, nachdem er einen Blick ins Bad, den einzigen anderen Raum, geworfen hatte. Wie auch? Er hätte jeden Eindringling bemerkt, schließlich hatte er seit geraumer Zeit einen äußerst leichten Schlaf.
Als er ins Wohnzimmer zurückkehrte, warf er kurz einen Blick auf die Schilder in der Ecke. Sie hatten gestern den ganzen Tag damit verbracht, die Sprüche aufzuschreiben und mit dicken Stiften auszumalen.
Damals hatte er gedacht, mehr als eine friedliche Demonstration stünde ihnen nicht bevor.
Doch nun kannte Ismael diesen Morgen besser.
Read the rest of this entry »

NOVA - Teil 2: Der Kessel - Kapitel 3

“Die sind tatsächlich ohne uns abgehauen!” Tanya kochte vor Wut. Was dachte sich Thomas eigentlich? Dass er schneller war als sie, war ja nun kein Geheimnis. Aber er war ja auch nicht gerade unschuldig an ihrer derzeitigen Situation. Wie nahm er sich da das Recht heraus, sie hier inmitten all der Menschen allein mit dem verwundeten Byron zurückzulassen?
“Er meint es nicht böse”, brachte Byron mit schwacher, von sich immer wieder in seinem Hals sammelnder Flüssigkeit verzerrter Stimme hervor. “Er hat nichts gegen dich, aber dir zu helfen bedeutet mir zu helfen. Und das verbietet ihm seine Ehre. Sein Ziel ist mein langsamer Tod, und dieses Ziel wird er auf jeden Fall erreichen, egal ob er mich in Stücke schlägt oder mich irgendwo zurücklässt.”
Tanya blickte die Bahnstrecke entlang. In weiter Entfernung sah sie das gläserne Führerhaus des nächsten Zuges aufblitzen. “Sei ehrlich! Hast du Thomas’ Clan bewusst vergiftet?”
Read the rest of this entry »