Bookmarklet - LinkFang.de





Bookmarklet


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 clientseitig zu verändern. Technisch gesehen ist ein Bookmarklet ein Lesezeichen auf das Pseudoprotokoll javascript:, das es ermöglicht, JavaScript-Code durch den Browser auszuführen.

Im Normalfall wird ein 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 enthaltene JavaScript-Code auf die momentan angezeigte Webseite angewendet, indem das Bookmarklet angewählt wird, nachdem die Seite geladen wurde.

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

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.

Beispiel: 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='https://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)

Das obige Bookmarklet öffnet den Wikipedia-Artikel im selben 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('https://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='https://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='https://de.wikipedia.org/w/index.php?search='+x

Das vorhergehende Bookmarklet 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='https://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 Webseite 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 Webseite aufgezählt werden.

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

Inverssuche von Telefonnummern

Das folgende Bookmarklet bietet eine Inverssuche von Telefonnummern an. Gesucht wird dabei nach der aktuell markierten Telefonnummer auf der Webseite oder wenn keine Markierung vorhanden wird ein Eingabefeld angezeigt:

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

Weblinks


Kategorien: ECMAScript

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Bookmarklet (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.