Bookmarklet

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

Im Normalfall wird ein in eine Webseite eingebettetes JavaScript-Programm 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 die Unterstützung der jeweiligen Teile des JavaScript-Codes eine Rolle.

Beispiel: Begriffserklärung mit Wikipedia

Das 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 && sel !== undefined && sel !== '') {
    location.href = 'https://de.wikipedia.org/w/index.php?search=' + encodeURIComponent(sel);
}

Um dieses Programm in einem Bookmarklet zu verwenden, müssen 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 enthält, nur schwerer lesbar, dafür 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 ö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 muss der JavaScript-Code entsprechend angepasst werden. Statt der Anweisung location.href = … ist dann der folgende Code nötig:

    var w = 'https://de.wikipedia.org/w/index.php?search=' + encodeURIComponent(sel);
    w.focus();

Kompatibilität der Browser

Das Vorgehen, um wie im obigen Beispiel auf den aktuell ausgewählten 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().text

Um ein Bookmarklet zu erstellen, das in allen Browsern gleichermaßen funktioniert, müssen diese Unterschiede berücksichtigt werden.

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

Minimales Beispiel

Das folgende Bookmarklet besteht aus nur einer JavaScript-Anweisung und öffnet einfach einen Dialog:

javascript:alert('Hallo!');

Dieses Bookmarklet leistet also nichts Sinnvolles, sondern soll einfach das Grundprinzip veranschaulichen.

Liste angezeigter Webseiten

Das folgende 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())}

Bereitstellen und Einbinden von Bookmarklets

Es gibt mehrere Möglichkeiten Bookmarklets bereitzustellen und einzubinden. Eine einfache Möglichkeit ist, den JavaScript-Code als Link in eine HTML-Seite einzubinden. Im folgenden Beispiel wird der Link „Begriffserklärung mit Wikipedia“ mit dem JavaScript-Code erstellt, der oben bereits erläutert ist:

<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);">
  Begriffserklärung mit Wikipedia
</a>

Wird die Seite mit einem Browser aufgerufen, so erscheint der Linktext „Begriffserklärung 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 über die Browsereinstellungen sichtbar gemacht werden (bei Firefox etwa durch Häkchensetzen unter Ansicht -> Symbolleisten -> Lesezeichen-Symbolleiste). Anschließend kann der Benutzer auf beliebigen Webseiten einen Begriff mit der Maus markieren und auf den Eintrag „Begriffserklärung mit Wikipedia“ in der Symbolleiste klicken – er wird dann auf die entsprechende Seite der Wikipedia geleitet. In der Praxis empfiehlt es sich, eine Abkürzung für „Begriffserklärung mit Wikipedia“ zu wählen, um Platz in der Symbolleiste zu sparen.

Sicherheit

Wenn ein Bookmarklet auf einer Webseite angeklickt wird, wird der darin enthaltene Programmcode im Rahmen dieser Webseite ausgeführt. Der Browser stellt sicher, dass dieser Code nur auf Daten zugreifen kann, die zu der umgebenden Seite gehören. 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 ausgeführt. Bösartiger Code kann dies ausnutzen und Daten von der aktiven Webseite an andere Webseiten übertragen, wie im obigen (gutartigen) Beispiel mit der Suchfunktion demonstriert. Daher sollten Bookmarklets nur aus vertrauenswürdigen Quellen installiert und verwendet werden. Bei Bookmarklets aus anderen Quellen sollte der Code vor der Verwendung inhaltlich geprüft werden, was aufgrund der vielen Prozentzeichen schwierig ist und zudem Programmierkenntnisse in JavaScript erfordert.

Read other articles:

Boolean satisfiability is NP-complete and therefore that NP-complete problems exist In computational complexity theory, the Cook–Levin theorem, also known as Cook's theorem, states that the Boolean satisfiability problem is NP-complete. That is, it is in NP, and any problem in NP can be reduced in polynomial time by a deterministic Turing machine to the Boolean satisfiability problem. The theorem is named after Stephen Cook and Leonid Levin. An important consequence of this theorem is that ...

 

BankstownNew South Wales—Majelis Legislatif [[Berkas:|200px]]Lokasi Bankstown di Sydney Negara bagian atau teritori: New South Wales Dibentuk: 1927 MP: Jihad Dib Partai: Buruh Nama: Bankstown, New South Wales Pemilih: 49,017 (2011) Luas: 23 km² (9 sq mi) Demografi: Inner Metropolitan Bankstown adalah sebuah distrik pemilihan Majelis Legislatif negara bagian New South Wales, Australia, di Western Sydney. Distrik ini sejak lama diakui sebagai salah satu daerah teraman bagi Pa...

 

Batak TobaNama lengkapAlkitab Batak TobaBahasaBatak TobaTerbitan PL1894Terbitan PB1878Terbitanlengkap1974PenerjemahHerman Neubronner van der Tuuk Ludwig Ingwer Nommensen; Peter Hinrich JohannsenPerevisian versi1989PenerbitLembaga Alkitab BelandaSitus URLAlkitab Terjemahan BaruKejadian 1:1–3 Di mula ni mulana ditompa Debata langit dohot tano on. Dung i tarulang ma tano i gabe halongonan jala holom di atas lung i, dung i mangareapreap ma Tondi ni Debata di atas ni angka aek. Dung i ...

1965 studio album by John Lee Hooker...And Seven NightsStudio album by John Lee HookerReleased1965 (1965)RecordedNovember 1964StudioIBC Studios, LondonGenreBluesLength40:50LabelVerve FolkwaysProducerJerry SchoenbaumJohn Lee Hooker chronology Concert at Newport(1964) ...And Seven Nights(1965) It Serve You Right to Suffer(1966) ...And Seven Nights is an album by the blues musician John Lee Hooker.[1] It was recorded in London in 1964 and released by the Verve Folkways label...

 

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

 

2002 Israeli military action Operation Noah's Ark redirects here. For the World War II operation, see Operation Noah's Ark (1944). Karine A affairPart of the Second IntifadaMilitary equipment confiscated from MV Karine APlanned byIsraeli Sea CorpsObjectiveSeizure of MV Karine ADateJanuary 3, 2002; 22 years ago (2002-01-03)Executed byShayetet 13OutcomeSuccess vteShayetet 13 boardings Santorini Karine A Francop Gaza flotilla raid Victoria KLOS C vteSecond Intifada Oc...

Koordinat: 53°35′35″N 1°48′04″W / 53.593°N 1.801°W / 53.593; -1.801 Distrik Metropolitan KirkleesDistrik MetropolitanNegara BerdaulatBritania RayaNegara KonstitusiInggrisWilayahYorkshire and the HumberWilayah KenegaraanWest YorkshireAdmin. HQHuddersfieldPemerintahan • JenisDewan Metropolitan Kirklees • Eksekutif:Partai Buruh/Liberal Demokratik • Anggota Dewan :Jason McCartney,Simon Reevell,Barry Sheerman,Mike Wo...

 

Government of Great Britain This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (July 2019) (Learn how and when to remove this template message) Chatham (circa 1754) The Duke of Grafton served as First Lord of the Treasury and succeeded Chatham as Prime Minister in 1768. Anglo-Irish politician and future Prime Minister Lord Shelburne, a close ally of Chatham, serv...

 

North-eastern state of Australia For other uses, see Queensland (disambiguation). State in AustraliaQueenslandState FlagCoat of armsNickname(s): Sunshine StateMotto: Audax at Fidelis (Latin)(English: Bold but Faithful) QLD NSW ACT WA NT SA VIC TAS Location of Queensland in AustraliaCountryAustraliaBefore federationColony of QueenslandSeparation from New South Wales6 June 1859Federation1 January 1901Named forQueen VictoriaCapitaland largest cityBrisbane24°S 140°E / &#x...

Voce principale: Vesuvio. Eruzione del Vesuvio del 79Pompei: il Vesuvio da via delle ScuoleVulcanoVesuvio StatoImpero romano Comuni interessatiHerculaneum, Pompeii, Oplontis, Nuceria Alfaterna, Stabiae Eventi correlatiterremoto, colate di fango (lahar) Duratacirca 2 giorni Prima fase eruttiva24 ottobre 79[1] Ultima fase eruttiva25 ottobre 79 Metri cubi4×109 m³ (lava)[2] Caratteristiche fisicheeruzione esplosiva di pomici e lapilli, colata di lava, flussi piroclastici V...

 

В Википедии есть статьи о других людях с такой фамилией, см. Кэмерон. Джеймс Кэмеронангл. James Cameron Кэмерон на Сomic-Con в 2016 году Имя при рождении Джеймс Фрэнсис Кэмерон Дата рождения 16 августа 1954(1954-08-16) (69 лет) Место рождения Капускасинг  (англ.) (рус., Онтарио, Кан...

 

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)&#...

Chemical compound DimetotiazineClinical dataAHFS/Drugs.comInternational Drug NamesRoutes ofadministrationBy mouthATC codeN02CX05 (WHO) Legal statusLegal status In general: ℞ (Prescription only) Identifiers IUPAC name 10-(2-Dimethylaminopropyl)-N,N-dimethylphenothiazine-2-sulfonamide CAS Number7456-24-8 YPubChem CID3089DrugBankDB08967 NChemSpider2979 NUNII1FTA475ZDBKEGGD07854 YCompTox Dashboard (EPA)DTXSID6023076 ECHA InfoCard100.028.390 Chemical and p...

 

Female contemplative religious order of the Catholic Church This article is about the female religious congregation founded by Alphonsus Liguori. For the male counterpart, see Redemptorists. The Order of the Most Holy Redeemer (Latin: Ordo Sanctissimi Redemptoris; abbreviated OSsR), also commonly known as the Redemptoristines, is a female contemplative religious order of the Catholic Church. It was formed in 1731, and is the female counterpart to the Redemptorists. History Maria Celeste Crost...

 

Varnum v. BrienCourtIowa Supreme CourtFull case nameKatherine Varnum, Patricia Hyde, Dawn Barbouroske, Jennifer Barbouroske, Jason Morgan, Charles Swaggerty, David Twombley, Lawrence Hoch, William M. Musser, Otter Dreaming, Ingrid Olson, and Reva Evans vs. Timothy J. Brien,, In His Official Capacities as the Polk County Recorder and Polk County Registrar DecidedApril 3, 2009Citation763 N.W.2d 862 (Iowa 2009)Case historyPrior actionsJudgment for plaintiffs, Polk County District CourtCourt mem...

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要擴充。 (2012年6月20日)请協助改善这篇條目,更進一步的信息可能會在討論頁或扩充请求中找到。请在擴充條目後將此模板移除。 此條目需要补充更多来源。 (2015年3月24日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目�...

 

Protein-coding gene in the species Homo sapiens GRIN2AAvailable structuresPDBOrtholog search: PDBe RCSB List of PDB id codes3NFL, 5H8Q, 5H8H, 5H8N, 5H8F, 5I2N, 5I2K, 5KDT, 5KCJIdentifiersAliasesGRIN2A, EPND, FESD, GluN2A, LKS, NMDAR2A, NR2A, glutamate ionotropic receptor NMDA type subunit 2AExternal IDsOMIM: 138253; MGI: 95820; HomoloGene: 645; GeneCards: GRIN2A; OMA:GRIN2A - orthologsGene location (Human)Chr.Chromosome 16 (human)[1]Band16p13.2Start9,753,404 bp[1]End10,182,928...

 

Le drapeau olympique flottant à Victoria, en Colombie-Britannique, Canada, en souvenir des Jeux olympiques d'hiver de 2010 à Vancouver. Les symboles olympiques sont des icônes, des drapeaux et des symboles utilisés par le Comité international olympique (CIO) pour représenter les Jeux olympiques. Certains, comme la flamme olympique, la fanfare et l'hymne olympique, sont plus couramment utilisés lors des compétitions olympiques, mais d'autres, comme le drapeau olympique, sont utilisés ...

جزر باراسيل   معلومات جغرافية   الإحداثيات 16°39′17″N 112°44′50″E / 16.654612°N 112.747192°E / 16.654612; 112.747192   [1] [2] المسطح المائي بحر الصين الجنوبي  المساحة 7.8 كيلومتر مربع  طول المحيط 518 كيلومتر  أعلى ارتفاع (م) 14 متر  الحكومة البلد الصين  معلومات إضاف...

 

Canadian Father of Confederation and Supreme Court judge (1816–1888) The HonourableWilliam Alexander HenryMember of the General Assembly of Nova ScotiaIn office1840–1843In office1847–1867Mayor of HalifaxIn office1870–1871Preceded byStephen TobinSucceeded byWilliam DunbarPuisne Justice of the Supreme Court of CanadaIn officeSeptember 30, 1875 – May 3, 1888Nominated byAlexander MackenziePreceded byNone (new position)Succeeded byChristopher Salmon Patterson Personal detailsBor...