1001Ferramentas
🔖Utilitários

Gerador de Bookmarklet

Empacota um trecho de JavaScript como bookmarklet (link javascript:) pronto para arrastar à barra.


  

Transformar um trecho de JS em botão do navegador

Tem aquele pedacinho de JavaScript que você roda toda semana no console: destacar links quebrados, copiar o título da página, limpar um overlay chato. Abrir o devtools e colar o código todas as vezes cansa. A saída clássica é o bookmarklet, um favorito cuja URL começa com javascript: e executa na página aberta. Este gerador embrulha o seu trecho no formato certo.

O que ele faz é enxugar todo espaço em branco para um espaço só, envolver o código num (function(){ ... })(); e prefixar com javascript:. Esse invólucro não é enfeite: como a função devolve undefined, o navegador continua na página em vez de substituí-la pelo valor de retorno do seu código. A contrapartida do enxugamento é séria: o código vira uma linha só, então qualquer comentário de barra dupla engole tudo que vem depois. Use apenas comentários de bloco, ou nenhum.

A saída aqui é texto: um exemplo de link e a linha URL. Apesar do que o nome sugere, não existe um link arrastável na página, então crie um favorito à mão e cole a URL no campo de endereço dele. Lembre que o bookmarklet roda com os privilégios da página aberta, com acesso a cookies e sessão, portanto não cole código de origem duvidosa. Alguns sites com CSP rígida ainda derrubam bookmarklets, o que varia por navegador. O empacotamento acontece no seu navegador.

Perguntas frequentes

Como instalo se não dá para arrastar?
Crie um favorito qualquer, abra a edição dele, apague o endereço e cole a linha que começa com javascript:. Alguns navegadores exigem salvar o favorito antes de permitir a edição da URL.
Por que meu bookmarklet não faz nada?
As causas mais comuns são um comentário de barra dupla que virou linha única e comeu o resto do código, um erro de sintaxe silencioso, ou uma política de segurança do site. Teste o mesmo trecho no console antes de empacotar.
Posso usar código com várias linhas?
Pode escrever pensando em várias instruções separadas por ponto e vírgula, mas o campo é de uma linha e o gerador colapsa espaços de qualquer jeito. Para algo maior, o bookmarklet costuma servir só para injetar um script externo.

Ferramentas Relacionadas