GRATISER  

Bookmarklet

HTTP/1.0 200 OK Date: Wed, 24 Nov 2010 15:08:44 GMT Server: Apache Cache-Control: private, s-maxage=0, max-age=0, must-revalidate Content-Language: de Vary: Accept-Encoding,Cookie Last-Modified: Mon, 23 Aug 2010 07:30:20 GMT Content-Length: 40983 Content-Type: text/html; charset=UTF-8 X-Cache: MISS from sq75.wikimedia.org X-Cache-Lookup: HIT from sq75.wikimedia.org:3128 Age: 998277 X-Cache: HIT from amssq43.esams.wikimedia.org X-Cache-Lookup: HIT from amssq43.esams.wikimedia.org:3128 X-Cache: MISS from amssq42.esams.wikimedia.org X-Cache-Lookup: MISS from amssq42.esams.wikimedia.org:80 Connection: close < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Bookmarklet

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Bookmarklet (auch: Favelet) ist ein kleines in JavaScript geschriebenes Makro, das als Bookmark abgespeichert wird und dadurch die Funktionen eines Webbrowsers erweitert. Es erlaubt beispielsweise, Aussehen oder Funktionalität von Webseiten zu verändern. Technisch gesehen ist ein Bookmarklet ein Lesezeichen auf das Pseudoprotokoll javascript:, das ermöglicht, Code durch den Browser auszuführen.

Im Normalfall wird in eine Webseite eingebettetes JavaScript beim Aufruf der Webseite oder bei bestimmten Aktionen, wie dem Absenden eines Formulars o. ä., ausgeführt. Art und Zeitpunkt der Ausführung bestimmt dabei der Ersteller der Webseite. Dagegen wird im Falle von Bookmarklets der lokal vorliegende JavaScript-Code auf die jeweils betrachtete Webseite angewendet, indem das Bookmarklet während des Betrachtens der Webseite aufgerufen wird.

Mögliche Anwendungen sind z. B. das Auslesen der Markierung und die Übergabe des markierten Textes an andere Webseiten, Berechnungen, Worttransformationen, URL-Manipulationen, Whois-Abfragen usw.

Die Unterstützung in den verschiedenen Browsern hängt vom jeweiligen Support von JavaScript-URLs in den Bookmarks ab. Darüber hinaus spielt natürlich die Unterstützung der jeweiligen Teile des JavaScript-Codes eine Rolle.

Inhaltsverzeichnis

Beispiel 1: Begriffserklärung mit Wikipedia

Das folgende Bookmarklet durchsucht beispielsweise die deutschsprachige Ausgabe der Wikipedia nach dem zuvor im Browser markierten Text:

javascript:Qr=document.getSelection();if(!Qr){void(Qr=prompt('Suchbegriff:',''))};if(Qr)location.href='http://de.wikipedia.org/w/index.php?search='+escape(Qr);

(Getestet mit: Google Chrome 4.1, Opera 7.5 und Mozilla 1.6, 1.8a3 sowie Mozilla Firefox 1.5.0.6) Mit Mozilla unter Fedora Core werden Umlaute nur dann richtig übertragen, wenn man encode() durch encodeURIComponent() ersetzt.

Das obige Bookmarklet öffnet den Wikipedia-Artikel im gleichen Fenster (bzw. Tab), in dem sich die Webseite mit dem erklärungsbedürftigen Begriff befand. Will man das nicht, sondern lieber die Wikipedia-Erklärung in einem neuen Tab/Fenster, so ist der folgende Code als Bookmarklet zu setzen:

javascript:s=(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(s==''){if(window.getSelection){if(frames.length>1){for(i=0;i<frames.length;i++){s=frames[i].document.getSelection();if(s)break;}}}}if(s=='')void(s=prompt('Bitte%20geben%20Sie%20einen%20Begriff%20zur%20Suche%20im%20Lexikon%20ein.',''));if(s){w=open('http://de.wikipedia.org/wiki/'+encodeURIComponent(s),'','');w.focus();}

Da der Internet Explorer die Methode getSelection() nicht unterstützt, muss das Bookmarklet (1. Version) für den IE so aussehen:

javascript:Qr=document.selection.createRange().text;if(!Qr){void(Qr=prompt('Suchbegriff:',''))};if(Qr)location.href='http://de.wikipedia.org/w/index.php?search='+escape(Qr);

Eine Version, die auch in Safari (Apple) funktioniert:

javascript:x=escape(getSelection());if(!x)%7Bvoid(x=prompt('Wort?',''))%7D;window.location='http://de.wikipedia.org/w/index.php?search='+x

Das vorhergehende Booklet funktioniert nicht in Version 2.04 für Safari. Folgende Version sollte funktionieren:

javascript:x=escape(getSelection());if(!x)void(x=prompt('Wort?'));if(x)void(window.location='http://de.wikipedia.org/w/index.php?search='+x)

Ist nichts markiert, so erscheint ein Dialog-Fenster, das zur Eingabe des Suchbegriffs auffordert.

Installieren:
  1. Ein neues Lesezeichen/Favoriten anlegen.
  2. Einen Namen für das neue Lesezeichen/Favoriten wählen.
  3. In das Adressfeld den JavaScript-Code kopieren.
Benutzen:
  1. Auf einer beliebigen Internetseite ein Wort markieren.
  2. Lesezeichen/Favoriten, das den JavaScript-Code enthält, aufrufen.
  3. Wikipedia zeigt Erklärung des markierten Wortes an.

Weitere Beispiele

Liste angezeigter Internetseiten

Das Bookmarklet erzeugt eine neue Seite, auf der alle Links der angezeigten Internetseite aufgezählt werden.

javascript:WN7z=open('','Z6','width=400,height=200,scrollbars,resizable,menubar');DL5e=document.links;with(WN7z.document){write('<base target=_blank>');for(lKi=0;lKi<DL5e.length;lKi++){write(DL5e[lKi].toString().link(DL5e[lKi])+'<br /><br />')};void(close())}

Inverssuche von Telefonnummern

Das Bookmarklet bietet eine Inverssuche von Telefonnummern an:

javascript:Qr=document.getSelection();if(!Qr){void(Qr=prompt('Telefonnummer',''))};if(Qr)location.href='http://dasoertliche.de/Controller?form_name=search_inv&ph='+escape(Qr)

Weiterführende Informationen

Namensräume
Varianten
Aktionen
© Dieser Artikel zu Bookmarklet stammt von Wikipedia und ist lizensiert
unter GFDL. Hier können Sie den Original-Artikel zu Bookmarklet , die Versionsgeschichte
und die Liste der Autoren einsehen.
© Dieser Artikel zu stammt von Wikipedia und ist lizensiert
unter GFDL. Hier können Sie den Original-Artikel zu , die Versionsgeschichte
und die Liste der Autoren einsehen.