Besser suchen mit Safari
Seit heute suchen zumindest Safari-User hier im Mac OS X-Stil. Neben einem History-Menü, das die letzten 5 Sucheinträge zeigt, gibt es auch den gewohnten Eintrag löschen Button direkt in der Sucheingabe.
Der HTML-Code für das schicke Sucheingabefeld sieht so aus:
<input type="search" size=18 maxlength=60 name="suche" placeholder="Suchen" autosave="QXM Suchanfragen" results="5" />
Das Suchen funktioniert auch weiterhin mit anderen Browsern (getestet: Win IE 6.0, Win Mozilla, Mac Firefox, Mac Opera, Camino, Omniweb), aber die Mac OS X Features werden eben nur unter Safari angezeigt.
Da die getesteten Browser außer Safari das placeholder-Attribut nicht unterstützen, kann man, damit auch in anderen Browsern das Wort „Suchen…“ im Suchfeld voreingetragen ist (und bei Aktivierung des Feldes automatisch verschwindet), eine kleine PHP-Browserweiche einbauen:
if (strstr(getenv(HTTP_USER_AGENT),"Safari")) {
$placeholder = 'placeholder="Suchen"';
} else {
$placeholder = 'onfocus="if(this.value=='Suchen...') {this.value='';}" onblur="if(this.value=='') {this.value='Suchen...';}" value="Suchen..."';
}
Den HTML Code baut man in PHP dann folgendermaßen zusammen:
$suchfeld = '<input type="search" size=18 maxlength=60 name="suche" '.$placeholder.' autosave="QXM Suchanfragen" results="5" />';
Viel Spaß beim Suchen ;-)
Ähnliche Beiträge:
Wir fahrn, fahrn, fahrn … Brandenburger Tor
Kommentare:
Bei den Kommentaren handelt es sich um fremde Inhalte, die sich „esse est percipi“ nicht zueigen macht. Verantwortlich für den Inhalt eines Kommentars ist der jeweilige Verfasser.
Chic … aber die Browserweiche funktioniert nicht auf der Startseite. Ich erhalte (Firefox/Win) nämlich auf der Startseite den Code mit dem placeholder-Attribut und es steht nichts im Suchfeld, auf der Artikel-Seite dagegen erhalte ich den Quelltext mit JavaScript statt placeholder-Attribut, der auch wie erwartet funktioniert.
Ja, ich weiß – momentan cache ich die gesamte Startseite inklusive der Seitenleiste. Wenn also nach einer Cache-Leerung der erste Browser Safari ist, der auf die Startseite zugreift, wird natürlich die Safarilösung in den Cache geschrieben und für die nächste Stunde auch allen anderen vorgesetzt. Aus dem gleichen Grund bleibt übrigens auch die „Besucher online“ Anzeige (ganz unten) u. U. für eine Stunde unverändert.
Ich war bisher zu faul, die Seitenleiste aus dem Caching zu nehmen, weil das eine größere Umprogrammieraktion erfordert, aber wahrscheinlich muss ich da jetzt doch mal ran …
Phänomenal. Habs gleich mal eingebaut und sieht funky aus.
Consider it stolen.
Hallo Michael,
Hab mich grad gewundert dass mein Trackback (siehe oben) so seltsame Sonderzeichen anzeigtt… Liegt da der Fehler bei dir oder bei mir? Hab ein ganz neues WordPress drauf, das läuft soviel ich weiß komplett auf UTF-8.
Schönen Tach noch!
Johannes, genau da liegt der Haken – mein TrackBack System läuft mit ISO-8859-1. Bei Gelegenheit implementiere ich mal eine Konvertierung …
Kommentar schreiben:
FAQ (Häufig gestellte Fragen)
Kommentare:
- Michael Preidel zu CookieCrumble Testflight jetzt auch für macOS
- Götz zu CookieCrumble Testflight jetzt auch für macOS
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Henning zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
Schlagwörter


