Miniaplicació enllaçada
Una miniaplicació enllaçada[1] (en anglès bookmarklet) és una funció encapsulada en un enllaç, en forma de petit programa en JavaScript que s'emmagatzema com un URL dins d'una adreça o punt d'interès en els navegadors web més populars, o bé com a hiperenllaç en una pàgina web. El terme en anglès fa referència als termes bookmark (adreça d'interès) i applet (miniaplicació).
En ser desats com a adreces d'interès, funcionen amb un simple clic. Amb ells es pot:
- Modificar l'aparença d'un lloc web dins del navegador (p. ex., la mida de la lletra, el color de fons, etc.)
- Extreure les dades d'una pàgina web (p. ex., hiperenllaços, imatges, text, etc.)
- Consultar un motor de cerca, amb termes que es proporcionin a partir d'un text seleccionat, o un quadre de diàleg.
- Enviar la pàgina actual a un servei de validació d'enllaços, o a un traductor.
Els navegadors web utilitzen URI per a l'atribut href de l'etiqueta «<a>» i per a les adreces d'interès. La primera part de l'URI, com ara , http:
file:
, o ftp:
especifica el protocol. També s'ha implementat el prefix javascript:
, que s'interpreta com qualsevol altre URI. Internament, el navegador identifica que el protocol és javascript, i tracta la resta de la cadena com a codi que llavors executa i l'utilitza en la pàgina.
L'script que s'executa té accés a la pàgina actual, que pot inspeccionar i modificar. Si el script retorna un tipus indefinit en comptes d'una cadena, el navegador no carregarà cap nova pàgina, resultant que el script s'executarà respecte al contingut de la pàgina actual. Açò permet canvis al moment de la mida del tipus de lletra i dels colors, sense que calgui tornar a carregar la pàgina.
Exemples d'implementació
[modifica]A continuació uns exemples de com cercar a la Viquipèdia un text que hàgim seleccionat. Si no en tinguéssim cap, es mostrarà un diàleg perquè l'introduïm:
javascript:(function(){q=document.getSelection();if(!q)q=prompt('Què cerques?:'); if(q)location.href='http://ca.wikipedia.org/w/wiki.phtml?search='+escape(q);})()
javascript:void(q=prompt('Què cerques?:',getSelection())); if(q)void(location.href='http://ca.wikipedia.org/w/wiki.phtml?search='+escape(q))
javascript:(function(){q=document.selection.createRange().text;if(!q)q=prompt('Què cerques?:',''); if(q)location.href='http://ca.wikipedia.org/w/wiki.phtml?search='+escape(q);})()
Notes
[modifica]Enllaços externs
[modifica]- Bookmarklets (anglès)
- Jesse's Bookmarklets (anglès)
- Google Bookmarklets (anglès)
- Google O.S. Bookmarklets (anglès)