Bookmarklets

Als Mischung aus Lesezeichen und ausführbaren Programmanweisungen sind die so genannten Bookmarklets bekannt. Für diejenigen, die häufig im Web unterwegs sind, bieten sie nützliche Anwendungen.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Stefan Mintert

Als Netscape Ende 1995 Javascript einführte, tauchte ein neues URL-Schema auf. Neben http und ftp gab es nun URLs der Form javascript: ... Die Adresse enthält in einem solchen Fall Javascript-Anweisungen, letzlich kleine ausführbare Scripts. Die Kombination von Bookmark (Favoriten, Lesezeichen) und Javascript-URL führt zu den Bookmarklets. Ein paar Beispiele zeigen die Funktionsweise.

Es gibt viele Angebote im Web, die das TV-Programm ausgeben. Ein benutzerfreundliches ist beispielsweise unter http://www.prisma-online.de/tv/ zu finden - keine Werbebanner, geringer Grafikanteil, vielfältige Optionen zur Programm-, Datum- und Zeitwahl.

Diese Optionen, ein Programm, den Tag und die Tageszeit auszuwählen, haben einen Nachteil: Benutzt man das Angebot regelmäßig mit den gleichen Wünschen, muss man immer wieder seine Lieblingsprogramme und die Tageszeit auswählen; sogar wenn man immer die gleichen Programme zur immer gleichen Tageszeit sieht. Das Ergebnis der Auswahl aus dem Formular ist eine URL (GET-Methode), der die Parameterwerte entsprechend der eigenen Auswahl enthält, etwa:

http://www.prisma-online.de/tv/tv.html?cid=Arte&hr=D&hr=E&day=20030525

Offensichtlich ist der variable Anteil hieran das Datum, das als Wert des Parameters day übergeben wird. Merkt man sich diesen URL als Bookmark, so erhält man beim späteren Besuch der Seite das Programm vom 25. 5. 2003. Schön wäre es, wenn jeden Tag das aktuelle Datum eingetragen wäre und der Rest unverändert bliebe.

Mit Javascript ist das einfach. Einzige Bedingung: Das Programm muss in eine einzelne Zeile passen, damit es - mit dem Präfix javascript: - als Bookmark in Frage kommt. Nichts leichter als das (siehe Listing 1). Mit dieser URL als Bookmark bekommt man auf Tastendruck das TV-Programm des aktuellen Tages.

Mehr Infos

Listing 1: TV-Tagesprogramm

javascript:heute = new Date(); tag = heute.getDate(); \
monat = heute.getMonth()+1; \ jahr = heute.getYear()+1900; \
stag = (tag < 10) ? "0"+tag : tag+""; \
smonat = (monat < 10) ? "0"+monat : monat+""; \
zieldatum = jahr+"-"+smonat+"-"+stag; \
base_URL = "http://www.prisma-online.de/tv/tv.html?cid=Arte&&hr=D&hr=E&day="; \
target_URL = base_URL + zieldatum; top.location = target_URL;

Im Netz sind viele weitere Codeschnipsel für Bookmarklets zu finden; Google findet circa 40 000 Seiten. Letzlich sind die Grenzen nur die Fantasie und die Eigenschaften von Javascript. Eine Information, die über die Scriptsprache zur Verfügung steht, die die Browser aber nicht anbieten oder tief in Menüs verstecken, ist die Angabe, wann die gerade sichtbare Webseite zuletzt verändert wurde. Auf www.bookmarklets.com gibt es dafür und für andere Anwendungen nützliche Bookmarklets. Für das Datum der letzten Änderung greift ein Bookmarklet auf window.document.lastModified zu. Voraussetzung ist, dass der Server diese Information mitgeschickt hat.

Weitere bequeme Spielereien basieren darauf, dass Javascript erkennen kann, welche Textstellen einer Webseite mit der Maus markiert sind. So lässt sich etwa der selektierte Text gleich in eine Mail stecken. Das Verschicken der URL der aktuellen Seite lässt sich auf diesem Weg ebenfalls vereinfachen. Und wer ein Akronym bei Webopaedia nachschlagen will, muss es lediglich mit der Maus markieren und Listing 2 als URL-Favoriten klicken.

Mehr Infos

Listing 2: Weblexikon-Anfrage

javascript:string=document.getSelection(); \
x=string.replace(/((\s)|(\-))/g,"_"); \
window.open("http://www.webopedia.com/"+x+".html", "Webopedia"); \
void(0);

Die hier genannten kleinen Scripts sind in der Online-Fassung dieses Artikels zu finden - einfach als Bookmark übernehmen und verwenden. Wer weitere sinnvolle Anwendungen hat, kann sie im Heise-Forum gleich veröffentlichen.

Online-Ressourcen
Bookmarklets-Heimat www.bookmarklets.com
Von dort zu anderen www.bookmarklets.com/about/links.html
Jesses Bookmarklets www.squarefree.com/bookmarklets
Bookmarklets for Power Users javascript.about.com/cs/bookmarklets/
Webopedias Bookmarklets webopedia.internet.com/searchtool/

(hb)