Bookmarklet

Origem: Wikipédia, a enciclopédia livre.
Exemplo de bookmarklet que conta o número de palavras em uma página.

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 URLs javascript: 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 URL javascript:.

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[editar | editar código-fonte]

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[editar | editar código-fonte]