Die Sprache eines Links kennzeichnen

Ein bislang fast nie benutztes Attribut des <a> Tags ist das Attribut hreflang, welches beschreibt in welcher Sprache die Seite geschrieben ist, zu der ein Link führt. Dieses Attribut darf nur gesetzt werden, wenn auch das href Attribut angegeben wurde.

Doch scheint das hreflang Attribut keinen wirklichen Nutzen zu haben, da es ja in keiner Weise auf der angezeigten HTML Seite dargestellt wird. In den nächsten Abschnitten möchte ich zwei Wege zeigen, wie man das Attribut doch sichtbar machen kann.

Die CSS Methode

Moderne Browser wie Firefox erlauben es per CSS auf Elemente der Seite mit bestimmten Attributen zuzugreifen und diesen dann einen Style zuzuweisen. Dies geschieht, indem man den Attribut Namen in eckigen Klammern hinter den Tag Namen schreibt:

a[hreflang] {
	...Styles...
}

Weiterlesen →

Text in Spalten darstellen mit „CSS3 Columns“

Um beliebigen Text in Browsern mit HTML darzustellen, braucht es nicht vieler Kenntnisse. Am einfachsten ist es den gewünschten Text zwischen zwei <p> Tags zu packen und schon wird er als Paragraph auf der Seite dargestellt. Doch wie schafft man es Text wie in einer Zeitung über mehrere Spalten hinweg darzustellen? Also so, dass der Text unten in der ersten Spalte endet und oben in der zweiten Spalte fortgeführt wird! Das ist mit HTML nicht möglich? Falsch! Mit dem neuen CSS3 Modul: Multi-column layout soll dies nun doch möglich werden. Und wer schon den neuen Browser Firefox 1.5 besitzt, kann dies gleich hier an dieser Stelle testen!

Anzahl der Spalten festlegen

Um festzulegen, mit wievielen Spalten ein Text dargestellt werden soll, braucht man nur folgende CSS Eigenschaft anzugeben: -moz-column-count. Wobei das Prefix -moz- speziell für den Firefox definiert wurde, da es sich hierbei noch nicht um einen endgültig anerkannten Standard handelt. Sollte sich dieser Standard durchsetzen, würde man das Prefix weglassen und nur noch column-count verwenden. Als Wert gibt man nun die Anzahl der Spalten an:

Weiterlesen →

Email mit PHP senden

Eine der häufigsten Tätigkeiten, die man im Internet macht ist mit Sicherheit das Versenden und Empfangen von Emails. Es ist nun mal die einfachste und häufig auch die schnellste Möglichkeit, mit anderen Personen über das Netz Kontakt aufzunehmen. Doch Email lässt sich nicht nur zum Plaudern mit Freunden nutzen, sondern bietet auch andere Vorteile. So lassen sich damit Newsletter an viele Mitglieder einer Site senden. Möglicherweise unter Verwendung von Emailadressen, die in einer Datenbank gespeichert sind.

Doch wie lassen sich Emails versenden, ohne ein Emailclient nutzen zu müssen? Schöner wäre es, wenn man dies einfach über ein Webinterface machen könnte. Und hier kommt nun PHP ins Spiel, denn PHP bietet von Haus aus eine einfache Funktion zum Versenden von Emails. Was alles notwendig ist, um diese Funktion nutzen zu können, werde ich in diesem Artikel näher vorstellen.

Email Setup in PHP

Damit sich Email in PHP nutzen lässt, müssen einige Einstellungen in PHP vorgenommen werden, sofern dies nicht schon standardmäßig vom Provider voreingestellt ist. Wer einen eigenen Server verwendet, sollte folgende Einstellungen in der php.ini überprüfen, bzw. richtig einstellen. Also einfach die Datei in einem normalen Texteditor öffnen und nach der Sektion [mail function] suchen. Dort befinden sich normalerweise drei Einstellungen. SMTP, sendmail_from und sendmail_path. Je nachdem ob ein Windows oder ein Linux Server verwendet wird, müssen hier andere Einstellungen vorgenommen werden. In Linux wird unter sendmail_path der Pfad zum Sendmail Programm eingetragen und unter Windows in SMTP der SMTP Server. Das ganze würde dann jeweils wie folgt aussehen:
Weiterlesen →

Das Problem mit scrip.aculo.us Effect.scroll()

Oliver Schwarz beschreibt in seinem Blog wie man "Unaufdringliches Scrollen in großen Webseiten" mit Hilfe von JavaScript umsetzen kann. Gemeint ist damit das Springen von einer Stelle einer bestimmten Seite zu einer anderen Stelle auf der selben Seite. Nur eben, dass der Browser nicht wirklich zur neuen Position springt, sondern weich dort hinscrollt.
Dies gelingt ihm unter Einsatz des JavaScript Frameworks prototype und der Effekt Bibliothek script.aculo.us. Letztere bietet eine Funktion Effect.scroll() an, um zu jeder beliebigen Position innerhalb einer Seite scrollen zu können.
Auch wenn es sich bei Olivers Lösung, welche auf der mediastyles Seite zu bewundern ist, um einen ansehnlichen Effekt handelt, sind in den Kommentaren zu seinem Blog-Eintrag einige wichtige Bemerkungen gemacht worden.
In einem Kommentar beschreibt Christine Kühnel das Problem des nicht mehr funktionierenden Back-Buttons.

"Der Scroll-Effekt ist ganz schön, hat aber einen Nachteil: Der Back-Button funktioniert nicht mehr wie gewohnt. Ich denke, viele Leute benutzen den ganz gern, um wieder nach oben zu springen."
"Es gibt zwar andere Möglichkeiten, wieder auf Anfang zu springen (Tasten z.B.), aber ich denke, ein wenig bedenklich ist es immer, wenn Browser-Standard-Verhalten beeinflusst wird..."

Damit spricht sie natürlich ein großes Problem bei vielen Webseiten/Webanwendungen an, welches sich auch besonders in AJAX Anwendungen wiederfinden lässt. In einem späteren Kommentar bietet sie aber auch gleich eine mögliche Lösung an. Durch ein Aufrufen des angesprungenen Ankers nach dem erfolgten Scrollen wird die URL im Browser geändert, was eine Verwendung des Back-Buttons wieder möglich macht. Allerdings sind dazu noch ein paar Tricks notwendig, welche dazu führen, das die Seite nach dem Scrollen kurz flackert, was den Effekt natürlich etwas unschön erscheinen lässt. Das Resultat ist auf dieser Testseite zu betrachten.

Hier muss meines Erachtens nach noch eine bessere Lösung gefunden werden. Auch wenn der Effekt schön anzusehen ist, sollte man es sich momentan besser zweimal überlegen, ob solch ein Scrolleffekt eine Seite wirklich besser benutzbar macht.

Eigene Fehlerseiten erstellen

Das hat bestimmt schon jeder einmal erlebt. Anstatt der gewünschten Seite wird nur eine einfache Seite angezeigt, auf der 404 Error - Datei nicht gefunden steht! Das kann zum Beispiel sein, wenn die Seite nicht mehr auf dem Server vorhanden ist, oder aber auch, wenn man sich schlicht und einfach verschrieben hat.

Da auf solchen Fehlerseiten oft keine Hinweise für den Besucher vorhanden sind, wie dieser wieder zurück auf die richtigen Seiten kommt, gehen dem Webseitenbetreiber so schnell viele Besucher verloren. Um dies zu verhindern, hat man auf den meisten Servern die Möglichkeit, eigene Fehlerseiten anzulegen.

Wie gehe ich vor?

Ganz einfach! Auf vielen Servern befindet sich eine Datei mit Namen .htaccess! Manchmal kann diese auch nicht sichtbar sein. Entweder läd man sich diese Datei herunter oder legt sich einfach eine neue an. Dies kann man mit einem einfachen Texteditor machen. In diese Datei fügt man nun folgende Zeilen ein:

Weiterlesen →

FireBug 0.4 – Der ultimative Web Debugger

Webseiten von heute bestehen meistens nicht nur aus HTML und CSS, sondern häufig auch viel JavaScript. Es sind häufig gar keine Webseiten mehr, sondern schon richtige Webanwendungen. Und wir alle wissen, dass Anwendungen häufig auch Fehler enthalten können. Auch Webanwendungen sind davon nicht ausgeschlossen.
Bisher war es meistens schwierig solche Fehler im JavaScript Code oder im HTML zu finden. Es fehlen die richtigen Tools, wie man sie z.B. bei der Programmierung mit Java ode C++ gewohnt ist, um diese Fehler aufzuspüren und zu beheben. Da HTML, CSS und JavaScript im Browser ausgeführt und angezeigt werden, braucht man auch Tools, um sie genau da - während sie ausgeführt werden - zu debuggen. Der Browser Firefox bietet hierfür einige gute Tools an. Ein guter Debugger ist z.B. Venkman. Und mit dem DOM Inspector kann man sich bequem den DOM Tree der Seiten anschauen.
Doch in Zeiten von web 2.0 und Ajax braucht man noch bessere und spezialisiertere Tools. Und eins dieser "Übertools" ist FireBug, welches jetzt in der Version 0.4 erschienen ist.

Hier ein kurzer Überblick über die neuenFeatures:

JavaScript Debugger

FireBug ermöglicht es, Breakpoints im JavaScript Code zu setzen, Schritt für Schritt durch die Codezeilen zu springen und lokale Variablen sowie den Stack zu betrachten.

Stack Traces bei JavaScript Fehlern

Jeder JavaScript Fehler wird mit einem Stack Trace angezeigt. So kann man genau sehen, an welcher Stelle im Code und durch welchen Aufruf ein Fehler genau aufgetreten ist.

JavaScript Fehler debuggen

Wenn ein Fehler auftritt, reicht es meistens nicht, nur den Stack Trace zu sehen. Meistens möchte man auch sehen, welche Werte bestimmte Variablen gerade hatten, als der Fehler auftrat. Mit FireBug kann man durch die Einstellung "Break On Error" den Debugger automatisch anhalten lassen, wenn ein Fehler auftritt. Man wird dann sofort zur richtigen Stelle im Code gebracht.

Logging Funktionalitäten

Über das console Objekt kann man verschiedene Nachrichten auf der Konsole ausgeben lassen, während der JavaScript Code ausgeführt wird. Dabei kann man verschiedene Stufen wählen, wie z.B. console.debug(), console.info(), console.warn() oder console.error(). Diese Meldungen werden dann auch noch in unterschiedlicher Farbdarstellung in der Konsole kenntlich gemacht.

Außerdem besitzt FireBug noch viele weitere wichtige und nützliche Funktionen. So kann man sich detailiert den Request anschauen, der bei Ajax gesendet wird. FireBug liefert auch eine sinnvolle JavaScript command line, um schnell kleine JavaScript Schnipsel ausführen zu können. Und über die verschiedensten Inspektoren können alle möglichen Aspekte von HTML, DOM, CSS und JavaScript genau betrachtet werden.

Ich finde das FireBug ein "Must Have" Tool für Webentwickler ist. Es läßt sich leicht als Erweiterung in den aktuellen Firefox 1.5 Browser integrieren.