Bookmarklet

Uit Wikipedia, de vrije encyclopedie

Een bookmarklet is een klein stukje JavaScript-code dat in de populairste webbrowsers opgeslagen kan worden als een URL in een bladwijzer (bookmark) of als een link op een webpagina.

Omdat Internet Explorer de term favorieten gebruikt, in plaats van bladwijzers of bookmarks, zijn bookmarklets ook bekend onder de minder gebruikte naam favlets of favelets. De KDE-browser Konqueror heeft een aparte functie voor bookmarklets, genaamd minihulpprogramma's. Deze staat los van de bladwijzers.

Bookmarklets kunnen worden opgeslagen als normale bladwijzers. Daardoor zijn het hulpmiddelen die eenvoudig en snel, met één klik opgeroepen kunnen worden en die handige functionaliteiten kunnen toevoegen aan een webbrowser. Ze kunnen bijvoorbeeld het volgende doen:

  • Het wijzigen van het uiterlijk van een webpagina, zoals de grootte van de lettertekens en het veranderen van een achtergrondkleur.
  • Bepaalde gegevens van een webpagina halen, zoals links, afbeeldingen en tekst.
  • De mogelijkheid om een door middel van een tekstselectie in een webpagina of gebruik makend van een dialoogvenster, direct een bepaalde zoekmachine aan te roepen. Deze zoekmachine kan ook van een bepaalde website zijn, zoals Wikipedia of het Internet Archive.

Voorbeelden[bewerken | brontekst bewerken]

Wanneer de volgende regels worden samengevoegd tot een bookmarklet, zal deze op Wikipedia zoeken naar een op dat moment geselecteerd stuk tekst of, wanneer niets is geselecteerd kan de zoekterm ingevuld worden in een dialoogvenster:

javascript:(function(){q=document.getSelection(); if(!q){void(q=prompt('Wikipedia zoekterm:',''))}; if(q)location.href='http://nl.wikipedia.org/w/wiki.phtml?search='+escape(q)})()

Het volgende voorbeeld zet de rechtermarge tot 45% zodat Wikipedia beter leesbaar wordt:

javascript:(function(){var newSS, styles='body { margin-left:0%; margin-right:45%;}';if(document.createStyleSheet) {document.createStyleSheet(%22javascript:'%22+styles+%22'%22); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.getElementsByTagName(%22head%22)[0].appendChild(newSS); } })();

Geschiedenis[bewerken | brontekst bewerken]

Steve Kangas van |bookmarklets.com verzon de term bookmarklet, die hij begon te ontwikkelen naar aanleiding van een idee in de Netscape JavaScript Guide. De term favlet werd uitgevonden door Tantek Çelik.

Brendan Eich, die JavaScript had ontwikkeld bij Netscape, gaf deze reden op over zijn uitvinding van de javascript:-URL (wat bookmarklets mogelijk maakt):

They were a deliberate feature in this sense: I invented the javascript: URL along with JavaScript in 1995, and intended that javascript: URLs could be used as any other kind of URL, including being bookmark-able.

In particular, I made it possible to generate a new document by loading, e.g. javascript:'hello, world', but also (key for bookmarklets) to run arbitrary script against the DOM of the current document, e.g. javascript:alert(document.links[0].href). The difference is that the latter kind of URL use an expression that evaluates to the undefined type in JS. I added the void operator to JS before Netscape 2 shipped to make it easy to discard any non-undefined value in a javascript: URL.

Externe links[bewerken | brontekst bewerken]