Peter Rehm's Blog

apple,development,life & more

Focus von beliebigen HTML Elementen entfernen

Ohne Kommentare

Hat man ein Element geklickt, und dadurch z.B. einen AJAX Request ausgelöst,
bleibt meist ein Focus auf dem Element. Dies wäre an sich nicht weiter schlimm.
würde der nicht so übel aussehen!

focus nach geklicktem element

Diesen Focus kann man einfach mit der JavaScript Methode blur() entfernen.

CODE:
<a href="#bla" onfocus="this.blur()">bla</a>


oder wie in meinem Fall mit Prototype:

CODE:
$('element').blur();

Geschrieben von Peter Rehm

30.04.2007 um 22:40:30

Abgelegt in Programmierung

Tags für diesen Artikel: , , ,

Vorschau von Webseiten

Ohne Kommentare

Speziell für Referenzen auf eigen Projekte benötigt man immer Screenshots. Die Seiten ändern sich und man sollte die Screenshots auch immer aktuell halten.

Neulich bin ich auf websnapr gestoßen.

Dies bringt die gewünschte Funktion mit sich und hat auch gleich eine komfortable JavaScript Lösung parat über die man das ganze elegant Lösen kann. Dies kann man an obigem Link sehen.

Geschrieben von Peter Rehm

26.11.2006 um 19:43:34

Tags für diesen Artikel: , ,

UTF-8 in Webapplikationen

Mit 3 Kommentaren

Um mein CMS auch in bulgarisch betreiben zu können, musste ich mich nun mit UTF-8 beschäftigen.

Die Erfahrungen will ich hier nun kundtun.

Es ist vielleicht noch keine perfekte Lösung, aber Sie tut erstmal Ihren Dienst.

Allgemeines

Zum ersten muss dem Browser gesagt werden, welches Charset verwendet werden soll, nämlich UTF-8.
Dies ist vor allem dann ein Problem wenn der Browser das selbst festlegt, kann man böse Überraschungen
erhalten.

CODE:
<meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />


Dies sollte überall eingebunden werden. Man kann auch in der Css festlegen, welche Zeichensatz
verwendet werden soll, dies habe ich bisher aber noch nicht benötigt :-)

CODE:
@charset "utf-8";


Praktisch ist vor allem im Umgang mit PHP, die Anwendung von header()

CODE:
header('content-type: text/html; charset=utf-8');


Man kann dies auch in der php.ini spezifizieren, sofern man Zugriff darauf hat. (default_mimetype & default_charset)

Damit der Besucher der Website auch in allen Formularen UTF-8 eingeben kann sollte man
accept-charset in den FORM-Kopf mit aufnehmen.

CODE:
<form accept-charset="utf-8" method=…


Der Vollständigkeit halber auch noch die Einbindung in XML

CODE:
<?xml version="1.0" encoding="utf-8"?>


PHP

All diese Einstellungen machen es möglich, dass UTF eingegeben und ausgegeben werden kann.
Die meisten die das verwenden haben allerdings eine Datenbank im Hintergrund, und schon da kann
es komplizierter werden. Als erstes benötigen wir eine Funktion, die überprüft ob ein String bereits
UTF-8 ist:

CODE:
/**
* Checks if String is UTF-8 Encoded
* @param string $string string to check
* @return boolean
*/
function is_utf8($string) 
{
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}


Dies ist nach der Vorgabe von W3.
Somit kann nun schoneinmal festgestellt werden ob der String utf8 ist.

Nun noch eine Funktion, die UTF8 encodiert. Achtung, die Funktion benötigt is_utf8()

CODE:
/**
* Encodes String to UTF8
* @param string $string
* @return string
*/
function cms_utf8_encode($string)
{
if(is_utf8($string))
{
return $string;
} else {
if(function_exists('mb_convert_encoding'))
{
return mb_convert_encoding($string,'utf-8');
} else {
return utf8_encode($string);
}
}
}


Hier wird der String encodiert, bevor er z.B. in die Datenbank geschrieben wird.

Datenbank

Ich habe mich auch mit dem Thema UTF-8 und Datenbank auseinandergesetzt. Dabei muss man folgendes Wissen:
UTF-8 kostet mehr als z.B. der latin1 Zeichensatz, da mehr Speicherplatz verwendet wird. Sogar 3x soviel :-)
Daher habe ich mich dazu entschlossen, da in der regel die wenigsten Zeichen in meinem System in Unicode gespeichert werden sollen, den latin1 Zeichensatz zu lassen.

Ich encodiere nur UTF-8 und leg das eben dann so ab. Funktioniert wunderbar, und ich hoffe das gibt keine Probleme.

In dem zug auch eine sehr detaillierte Beschreibung zu dem Thema von Kris Köhntopp.

Geschrieben von Peter Rehm

18.11.2006 um 14:05:13

Tags für diesen Artikel: , , , ,

GMX XHTML und CSS Codingstandard

Ohne Kommentare

Jens Meiert hat die XHTML- und CSS-Coderichtlinien bei GMX veröffentlicht.

Wenn man sich selber überlegt auch dieses alles noch weiter zur strukturieren ist das eine sehr gute möglichkeit sich an den GMX Richtlinien zu orientieren, da man wirklich erkennen kann, dass Sie sich sehr viel Mühe gemacht haben.

Denn oft kommt auch bei größeren Firmen der CSS Einsatz noch viel zu kurz...

Geschrieben von Peter Rehm

27.03.2006 um 09:12:52

Abgelegt in Web

Tags für diesen Artikel: ,