www.wikidata.de-de.nina.az
Ein Bookmarklet auch Favelet ist ein kleines in JavaScript geschriebenes Computerprogramm das als Bookmark abgespeichert wird und dadurch die Funktionen eines Webbrowsers erweitert Es erlaubt beispielsweise Aussehen oder Funktionalitat von Webseiten clientseitig zu verandern Technisch gesehen ist ein Bookmarklet ein Lesezeichen auf das URI Schema javascript das es ermoglicht JavaScript Code durch den Browser auszufuhren Im Normalfall wird ein in eine Webseite eingebettetes JavaScript Programm beim Aufruf der Webseite oder bei bestimmten Aktionen wie dem Absenden eines Formulars o a ausgefuhrt Art und Zeitpunkt der Ausfuhrung 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 angewahlt wird nachdem die Seite geladen wurde Mogliche Anwendungen sind z B das Auslesen der Markierung und die Ubergabe des markierten Textes an andere Webseiten Berechnungen Worttransformationen URL Manipulationen Manipulation des Document Object Models Whois Abfragen und so weiter Die Unterstutzung in den verschiedenen Browsern hangt vom jeweiligen Support von JavaScript URLs in den Bookmarks ab Daruber hinaus spielt die Unterstutzung der jeweiligen Teile des JavaScript Codes eine Rolle Inhaltsverzeichnis 1 Beispiel Begriffserklarung mit Wikipedia 2 Kompatibilitat der Browser 3 Weitere Beispiele 3 1 Minimales Beispiel 3 2 Liste angezeigter Webseiten 4 Bereitstellen und Einbinden von Bookmarklets 5 Sicherheit 6 WeblinksBeispiel Begriffserklarung mit Wikipedia BearbeitenDas folgende JavaScript Programm durchsucht beispielsweise die deutschsprachige Ausgabe der Wikipedia nach dem zuvor im Browser markierten Text var sel document getSelection if sel null sel undefined sel prompt Suchbegriff if sel null amp amp sel undefined amp amp sel location href https de wikipedia org w index php search encodeURIComponent sel Um dieses Programm in einem Bookmarklet zu verwenden mussen einige Sonderzeichen ersetzt werden damit sie nicht falsch interpretiert werden Aus dem obigen Beispiel entsteht dann das folgende Bookmarklet das im Prinzip denselben Code wie oben enthalt nur schwerer lesbar dafur aber technisch eindeutig javascript void 20function var 20sel document getSelection if 20 sel null sel undefined sel prompt 22Suchbegriff 22 22 22 if sel null 26 26sel undefined 26 26sel 22 22 location href 22https de wikipedia org w index php 3Fsearch 22 encodeURIComponent sel Das Bookmarklet aus dem obigen Beispiel offnet den Wikipedia Artikel im selben Fenster bzw Tab in dem sich die Webseite mit dem erklarungsbedurftigen Begriff befand Will man das nicht sondern lieber die Wikipedia Erklarung in einem neuen Tab Fenster so muss der JavaScript Code entsprechend angepasst werden Statt der Anweisung location href ist dann der folgende Code notig var w https de wikipedia org w index php search encodeURIComponent sel w focus Kompatibilitat der Browser BearbeitenDas Vorgehen um wie im obigen Beispiel auf den aktuell ausgewahlten Text zuzugreifen unterscheidet sich zwischen den Browsern In einigen Browsern Google Chrome Safari funktioniert window getSelection In anderen Browsern funktioniert document getSelection Im Microsoft Internet Explorer funktioniert document selection createRange textUm ein Bookmarklet zu erstellen das in allen Browsern gleichermassen funktioniert mussen diese Unterschiede berucksichtigt werden Installieren Ein neues Lesezeichen Favoriten anlegen Einen Namen fur das neue Lesezeichen Favoriten wahlen In das Adressfeld den JavaScript Code kopieren Benutzen Auf einer beliebigen Webseite ein Wort markieren Lesezeichen Favoriten das den JavaScript Code enthalt aufrufen Wikipedia zeigt Erklarung des markierten Wortes an Weitere Beispiele BearbeitenMinimales Beispiel Bearbeiten Das folgende Bookmarklet besteht aus nur einer JavaScript Anweisung und offnet einfach einen Dialog javascript alert Hallo Dieses Bookmarklet leistet also nichts Sinnvolles sondern soll einfach das Grundprinzip veranschaulichen Liste angezeigter Webseiten Bearbeiten Das folgende Bookmarklet erzeugt eine neue Seite auf der alle Links der angezeigten Webseite aufgezahlt werden javascript w open Z6 width 400 height 200 scrollbars resizable menubar l document links with w document write lt base 20target blank gt for i 0 i lt l length i write l i toString link l i lt br gt void close Bereitstellen und Einbinden von Bookmarklets BearbeitenEs gibt mehrere Moglichkeiten Bookmarklets bereitzustellen und einzubinden Eine einfache Moglichkeit ist den JavaScript Code als Link in eine HTML Seite einzubinden Im folgenden Beispiel wird der Link Begriffserklarung mit Wikipedia mit dem JavaScript Code erstellt der oben bereits erlautert ist lt a href javascript sel document getSelection if sel void sel prompt Suchbegriff if sel location href https de wikipedia org w index php search encodeURIComponent sel gt Begriffserklarung mit Wikipedia lt a gt Wird die Seite mit einem Browser aufgerufen so erscheint der Linktext Begriffserklarung mit Wikipedia im Text der Seite Der Benutzer sollte nun im einfachsten Fall diesen Link mit der Maus in seine Symbolleiste verschieben nicht anklicken Sofern keine Symbolleiste sichtbar ist muss sie vorher uber die Browsereinstellungen sichtbar gemacht werden bei Firefox etwa durch Hakchensetzen unter Ansicht gt Symbolleisten gt Lesezeichen Symbolleiste Anschliessend kann der Benutzer auf beliebigen Webseiten einen Begriff mit der Maus markieren und auf den Eintrag Begriffserklarung mit Wikipedia in der Symbolleiste klicken er wird dann auf die entsprechende Seite der Wikipedia geleitet In der Praxis empfiehlt es sich eine Abkurzung fur Begriffserklarung mit Wikipedia zu wahlen um Platz in der Symbolleiste zu sparen Sicherheit BearbeitenWenn ein Bookmarklet auf einer Webseite angeklickt wird wird der darin enthaltene Programmcode im Rahmen dieser Webseite ausgefuhrt Der Browser stellt sicher dass dieser Code nur auf Daten zugreifen kann die zu der umgebenden Seite gehoren Dadurch ist ausgeschlossen dass durch das einfache Klicken auf einen Link auf Daten von einer Drittanbieter Webseite zugegriffen wird Durch das Erstellen eines Bookmarklets wird der im Bookmarklet enthaltene Programmcode im Rahmen der jeweils aktiven Webseite ausgefuhrt Bosartiger Code kann dies ausnutzen und Daten von der aktiven Webseite an andere Webseiten ubertragen wie im obigen gutartigen Beispiel mit der Suchfunktion demonstriert Daher sollten Bookmarklets nur aus vertrauenswurdigen Quellen installiert und verwendet werden Bei Bookmarklets aus anderen Quellen sollte der Code vor der Verwendung inhaltlich gepruft werden was aufgrund der vielen Prozentzeichen schwierig ist und zudem Programmierkenntnisse in JavaScript erfordert Weblinks BearbeitenArtikel uber Bookmarklets im SELFHTML Wiki Jesse s Bookmarklets Site bookmarklets Stichpunkt de Programm um aus eingegebenem JavaScript Code ein Bookmarklet zu erzeugen Abgerufen von https de wikipedia org w index php title Bookmarklet amp oldid 223110248