Um bookmarklet é um pequeno programa em JavaScript que é armazenado como uma URL nos Favoritos dos mais populares navegadores ou como hiperligações em páginas da internet. Devido ao Internet Explorer usar o termo favoritos ao invés de marcadores, bookmarklets também são chamados de favlets ou favelets (o termo foi inventado por Tantek Çelik em 6 de setembro de 2001 (email pessoal)).
Bookmarklets podem ser salvos e utilizados como se fossem marcadores comuns. Assim, são simples ferramentas de "um clique" que podem adicionar muitas funções para o navegador. Eles podem, por exemplo:
- Modificar a forma que um página é mostrada (mudando a fonte, o fundo, etc...).
- Extrair informações da página, como hyperlinks, imagens, texto, e etc...
- Ir diretamente para um mecanismo de busca e procurar por uma palavra que foi selecionada ou solicitada por uma caixa de diálogo.
- Submeter uma página para um serviço de validação.
Steve Kangas, da www.bookmarklets.com, criou o termo "bookmarklet", baseado na ideia sugerida no Guia do JavaScript da Netscape.
Brendan Eich, que desenvolveu o JavaScript na Netscape, deu a sua contribuição com a invenção do protocolo javascript:
, que tornou possível os bookmarklets:
Eles são uma característica proposital, de forma que eu inventei a URL
javascript:
junto com o JavaScript em 1995 e queria que as URLsjavascript:
pudessem ser usadas como qualquer outro tipo de URL, inclusive ser um marcador.Particularmente, eu fiz possível ser gerado um novo documento ao carregar, por exemplo,
javascript:'alo, mundo'
, mas também (a chave para os bookmarklets) carregar um programa qualquer usando o DOM do documento atual, por exemplo,javascript:alert(document.links[0].href)
. A diferença é que o último tipo de URL usa uma expressão que avalia um tipo indefinido em JS. Eu adicionei o operador void no JS antes do Netscape 2 para facilitar o descarte de qualquer valor definido em uma URLjavascript:
.
Um exemplo é esse bookmarklet que irá pesquisar na Wikipédia pela palavra que está selecionada no momento no navegador:
javascript:Qr=document.getSelection(); if(!Qr){void(Qr=prompt('Keywords...',''))}; if(Qr)location.href='http://pt.wikipedia.org/w/wiki.phtml?search='+escape(Qr)
Se nada estiver selecionado, será mostrado um diálogo solicitando uma palavra.
Bookmarklet para mudar a margem direita para 45% e fazer a Wikipedia mais legível:
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); } })();
Ver também
Greasemonkey tem a mesma funcionalidade dos bookmarklets com um adicional: os "bookmarklets" podem ser automaticamente carregados quando uma certa página é visitada. A página DiveIntoGreaseMonkey.org de Mark Pilgrim é um livro livre sobre o GreaseMonkey.
Ligações externas
- «Bookmarkletbrasil.blogspot.com»: Site brasileiro com explicações e exemplos sobre bookmarklets e favlets.
- «Bookmarklets.com»: A página oficial dos bookmarklets.
- «Tantek Çelik's Favelets» (ou Favlets.com): Bookmarklets (ou favlets) de categorias variadas. Para o IE para Mac.
- «Jesse's Bookmarklets Site»: do Jesse Ruderman. Contém vários bookmarklets de diferentes categorias.
- «Philburns Bookmarklets»: Contém bookmarklets em categorias como Navegação, Busca, Validação e etc...
- «Svenska "bookmarklets"»: Alguns bookmarklets em Sueco.
- «Samrod's Functional Bookmarks»: Bookmarklets para todos os tipos de mecanismos de busca, serviços online e algumas ferramentas de desenvolvimento de páginas.