Archive for the ‘HTML’ Category

Image Maps

02. Dezember 2011

Man benutzt Image Maps eigentlich eh selten… wenn ich Teile von Bildern verlinken will, dann leg ich einen Link drüber mit position:absolut und display:block, wenns für IE funktionieren soll ggf. noch mit einem transparenten PNG … das ist weit praktischer, denn so kann ich mir erstmal anschauen, wo der Link drüberliegt, indem ich ihm ein border:1px solid #00FF00 oder so gebe.

Aber für einen Newsletter brauchte ich eine Image Map und hatte wirklich keine Lust, ewig rumzuprobieren bis die Positionen der rectangles passen. Also habe ich gesucht und bin auf das Image Map Tool gestoßen. Man lädt ein Bild hoch und kann sich dann bequem seine Rectangles einfügen, an die richtige Stelle setzen, die Größe anpassen und den Link setzen. Am Ende kriegt man den fertigen HTML Code. Man kann sogar alte maps importieren und weiterbearbeiten.

Großartiges, nützliches Tool!

  1. <img usemap="#map2" src="newsletter.jpg" alt="" />
  2. <map name="map2">
  3. <area shape="rect" coords="56,42,299,460" href="http://www.link1.at" />
  4. <area shape="rect" coords="335,44,569,460" href="http://www.link2.at" />
  5. </map>

Frames… sie wollen einfach nicht sterben…

06. Oktober 2010

Es gibt ein uraltes Projekt, an dem ich hin und wieder noch was ändern muss. Dieses Projekt wurde mit Frames und Tabellen aufgebaut, damals noch state-of-the-art, heute ein grausames Ärgernis. Das Problem: Ich musste vom Content Frame (mainFrame) aus per Javascript eine Funktion in der Navigation Links ansprechen. Aber im linken Frame (leftFrame) gab es nochmal ein frameset mit 2 weiteren Frames, das ganze kann man sich in etwa so vorstellen:

Ich musste also aus einem Frame heraus ein Frame in einem anderen Frame ansprechen und dort eine Funktion aufrufen.

In leftBottom.php habe ich die Funktion doOverlay definiert:

  1. function doOverlay(){
  2. //blablabla...
  3. }

und in mainFrame.php rufe ich dies folgendermaßen auf:

  1. parent.leftFrame.leftBottom.doOverlay();

iframe Transparenz für IE

28. Juli 2010

Es ist traurig, dass ich überhaupt noch mit iframes arbeiten muss. Aber der Kunde wünschte auf seiner Typo3 Seite eine Möglichkeit, sich auf einer externen Seite einzuloggen. Mir fiel da beim besten Willen keine andere Möglichkeit ein, als auf der Typo3 Seite ein iframe reinzubasteln, dessen Inhalt bereits auf der externen Seite ist, auf der man sich einloggen will. Das  funktionierte auch einwandfrei – jedenfalls fast. Denn die olle Diva IE hat sich mal wieder quergestellt und statt eines transparenten Hintergrunds das iframe weiß unterlegt.

Meine 2 Sekunden andauernde Google Suche brachte mich erstmal zu selfHTML, wo die dort übliche Antwort zu der Frage natürlich ein “such mal” war, aber beim zweiten Treffer wurd ich dann fündig. Damit auch IE sich bequemt, das iframe durchsichtig zu machen, mache man folgendes:

1. allowtransparence auf true setzen

  1. <iframe src="login.html" frameborder="no" allowtransparency="true"></iframe>

2. dem Hintergrund der Seite, auf die das iframe verweist, sagen, er soll transparent sein.

  1. body{background: allowtranyparency: true}

Diese CSS Schreibweise kannte ich übrigens noch nicht, aber solang’s funktioniert…

Firefox 3.5 und seine Macken

11. November 2009

Ich weiß nicht, was sie sich dabei gedacht haben. Für den normalen User mag Firefox 3.5 ja toll sein und kaum ein Unterschied zu sonst bestehen. Aber als Programmierer verwandelt sich die aktuelle Version schnell in einen Alptraum. Um mal zu notieren, was mir bisher so aufgefallen ist:

Werte per Javascript eingefügter selects werden unterschlagen

Die Ausgangssituation: Man hat ein SELECT mit Mehrfachauswahl. Werden bestimmte Werte ausgewählt, sollen weitere SELECTS hinzugefügt werden. Ich programmier also gestern wunderschöne Javascript Funktionen und lade den Content mittels Ajax rein. Klappt auch alles, klickt man auf bestimmte Options, werden neue SELECTS hinzugefügt. Problem an der Sache: schicke ich das Formular dann am Ende ab, tauchen die hinzugefügten SELECTS nicht in den $_POST Variablen auf. GAAAAH!

Der Passwort Manager ruiniert Formulare

Letztens programmierte ich ein kleines User Formular… wo man Daten von Usern ändern und ihnen Passwörter zuweisen konnte. Gab es ein Passwort, funktionierte das auch bestens, ließ sich problemlos ändern. Hatte der User allerdings noch kein Passwort, standen in meinem Passwort Feld (das übrigens den Namen vpassword trug und damit nicht namentlich deckungsgleich mit anderen Passwortfeldern auf der Seite war) plötzlich 4 Zeichen, obwohl es eigentlich leer sein sollte. Beim Speichern wurde dann auch ein 4-buchstabiges Passwort in die DB eingetragen, das ich aber an ganz anderer Stelle bei einem anderen Formular gespeichert hatte. Damit wir also nicht zukünftig Anrufe von Kunden kriegen, die wütend sind, weil Passwörter “falsch” gespeichert werden, musste ich via Javascript sicherstellen, dass bei keinem Passwort auch nichts im Passwort Feld steht!

Ähnliches ist mir übrigens gestern beim Erstellen eines neuen phpBB Forums passiert. Ich wollte eine neue Kategorie erstellen und bekam eine merkwürdige Meldung beim Speichern. Da hatte Firefox lustigerweise meine admin Login Daten fürs phpBB in die Formularfelder “Avatar” und “Zeitzone” geschrieben. Macht ja auch Sinn…. NICHT!