O que eu provavelmente mais uso é Mostrar âncoras , que eu fiz. Ele mostra um ícone de âncora ao lado de cada elemento da página que pode ser vinculado diretamente.
Parece estúpido, mas é muito útil quando você deseja indicar alguém para uma seção específica de um site. E é muito mais fácil do que tentar descobrir onde o proprietário do site colocou seus links de ancoragem (se é que o fizeram).
Encontrei isso em GitHub . É divertido e gosta de tirar minha mente das coisas e também me livrar delas!
Ler mais tarde (marca a página para leitura posterior em InstaPaper )
Reescreve os URLs mais encurtados de uma página para mostrar para onde eles o levarão.
Eu uso SuperGenPass para misturar minha senha mestre em senhas exclusivas dos sites que visito (o hash é baseado no domínio). Muito conveniente.
bookmarklet TinEye para encontrar outras fontes de imagens em uma página da web.
BugMeNot para ignorar rapidamente o login de sites que exigem registro obrigatório e/ou a coleta de informações pessoais/demográficas (como o New York Times).
Quix: http://quixapp.com
É um pouco como Quicksilver para a web. É muito útil para desenvolvimento web. Você também pode configurar o Chrome para usá-lo como um mecanismo de pesquisa para transformar a barra de endereços em uma linha de comando.
Eu uso StackPrinter bookmarklet; permite imprimir perguntas do Stack Exchange (como esta) de uma maneira fácil de imprimir.
javascript:(function(){var re = new RegExp('^http://(.*?)\.com/questions/([0-9]+)/');var group = re.exec(window.location.href);if (group!=null){var service = group[1];var questionid=group[2];window.open('http://www.stackprinter.com/export?format=HTML&service='+service+'&question='+questionid)}else{alert('Attention: question id not found!')}})()
jQuerify é o bookmarklet do qual não posso viver. Adiciona (se necessário) jQuery à lista de scripts na página. Torna a escrita de outros bookmarklets muito menos dolorosa!
Aqui está meu próprio bookmarklet para todos os sites do Stack Exchange:
Este código mostrará sua contagem de votos para todas as tags que aparecem na seção de tags principais da sua página de usuário. Ele deve funcionar em qualquer site do Stack Exchange em que você esteja conectado (mas eu o testei apenas no Stack Overflow e Meta Stack Overflow). Infelizmente, existe um bug na lógica de redirecionamento de sinônimos de tags que impedirá esse script de trabalhar com sinônimos de tags.
javascript:var uP=$('#hlinks-user a:eq(1)')[0].href;var uN=uP.replace(/.*\//gi,'');var uI=uP.replace(/.*\/([\d]+)\/.*/,'$1');var tsp='/tags/$0/topusers';var tqp='/questions/tagged/$0';var rD='result';var mA=5;var cA=0;var cO=0;var tT;var aT=[];var rT=[];var lI=function(tA,tP,tX,tT,bK){return' <span style="font-size:smaller;">[<a style="color:#777" href="'+tP.replace('$0',tA)+'"'+(bK?' target="_BLANK"':'')+(tT?' title="'+tT+'"':'')+'>'+tX+'</a>]</span>';};var pR=function(){if($('#'+rD).size()==0){$(document.body).append($('<div id="'+rD+'"></div>').css({'position':'fixed','top':'0','bottom':'0','left':'0','width':'40ex','background':'#fff','border-right':'solid #777 5px','overflow':'auto','text-align':'left','padding':'.3em'}));}};var dR=function(){rT.sort(function(a,b){return b[1]-a[1];});$('#'+rD+' h3').html('Your top '+tT+' tag scores:');$.each(rT,function(index,item){var tA=item[0],sC=item[1];var select=$('#tA'+(index+1));select.find('td:eq(1)').html(tA+lI(tA,tqp,'q','questions')+lI(tA,tsp,'s','stats'));select.find('td:eq(2)').html(sC);if(sC>99){select.find('td:eq(2)').css({'background':(sC>999?'gold':sC>399?'silver':'#A67D3D')});} select.find('td:eq(0)').remove();select.find('td').css({'padding':'.3em'});});};var dP=function(){if(aT.length==0&&cA==0){dR();return;}else if(cA<mA&&aT.length>0){rS(aT.pop());} window.setTimeout(dP,200);};var rS=function(tA){cA++;var oS=++cO;var dI='tA'+oS;$('#'+rD+' table').append($('<tr id="'+dI+'"><td>'+oS+' / '+tT+'</td><td>'+tA+'</td><td>...</td></tr>'));jQuery.get(tsp.replace('$0',tA),function(data){var sT=$(data.replace(/<img[^>]*>/gi,'')).find(".fl:eq(1) a[href*='"+uI+"']").parents('tr:eq(0)').find('.top-count:eq(0)').contents().text().trim().replace(/\D+/,'');rT.Push([tA,sT?parseInt(sT):0]);$('#'+dI+' td:last').html('Done.');cA--;});};var tU=function(){jQuery.get(uP,function(result){fT($(result.replace(/<img[^>]*>/gi,'')));})};var fT=function(pN){if(!pN)pN=$('html');pN.find('.user-stats-table:eq(3) a.post-tag').each(function(index,item){aT.Push(item.innerHTML.replace(/<[^>]*>/gi,''));});tT=aT.length;$('#'+rD).html('<h3>Retrieving tag scores...</h3><table style="width: 100%;"></table>');dP();};pR();if(document.URL==uP) fT(false);else tU();void(0)
E aqui está uma versão legível e não-bookmarklet do script:
// begin config
var uP = $('#hlinks-user a:eq(1)')[0].href; // user page URL
var uN = uP.replace ( /.*\//gi, '' ); // user name
var uI = uP.replace(/.*\/([\d]+)\/.*/, '$1'); // user id
var tsp = '/tags/$0/topusers'; // template for stats page
var tqp = '/questions/tagged/$0'; // template for questions page
var rD = 'result'; // dom id for generated div
var mA = 5; // max concurrent ajax requests
// end config
var cA = 0; // current ajax requests
var cO = 0; // current tag offset
var tT; // total number of tags
var aT = []; // all remaining tags
var rT = []; // retrieved tags (format: [[tag,score]]
var lI = function(tA,tP,tX,tT,bK){ // build link using a tag, a template and a text
bK = bK!==false;
return ' <span style="font-size:smaller;">[<a style="color:#777" href="'
+ tP.replace('$0', tA) + '"'
+ (bK ? ' target="_BLANK"' : '')
+ (tT ? ' title="' + tT + '"' : '')
+ '>' + tX + '</a>]</span>';
};
var pR = function(){ // prepare result div
if($('#'+rD).size()==0){
$(document.body).append(
$('<div id="' + rD + '"></div>')
.css({
'position':'fixed',
'top':'0',
'bottom':'0',
'left':'0',
'width':'40ex',
'background':'#fff',
'border-right':'solid #777 5px',
'overflow':'auto',
'text-align':'left',
'padding':'.3em'
})
);
}
};
var dR = function(){ // display results
rT.sort(function(a,b){
return b[1]-a[1];
});
$('#'+rD+ ' h3').html('Your top '+tT + ' tag scores:');
$.each(
rT,
function(index, item) {
var tA = item[0], sC = item[1];
var select = $('#tA'+(index+1));
select.find('td:eq(1)').html(tA + lI(tA,tqp,'q','questions') + lI(tA,tsp,'s','stats'));
select.find('td:eq(2)').html(sC);
if(sC > 99){
select.find('td:eq(2)').css({
'background' : (
sC > 999 ? 'gold' :
sC > 399 ? 'silver' :
'#A67D3D'
)
});
}
select.find('td:eq(0)').remove();
select.find('td').css({'padding':'.3em'});
}
);
};
var dP = function(){ // dispatcher function
if(aT.length == 0 && cA == 0){
dR();
return;
}else if(cA < mA && aT.length > 0){
rS(aT.pop());
}
window.setTimeout(dP, 200);
};
var rS = function(tA){ // retrieve tag score
cA++;
var oS = ++cO; // current offset
var dI = 'tA' + oS; // corresponding dom ID
$('#'+rD + ' table').append($(
'<tr id="' + dI + '"><td>'+oS+' / ' + tT + '</td><td>'
+ tA + '</td><td>...</td></tr>'
));
jQuery.get(tsp.replace('$0', tA),function(data){
// score as text:
var sT = $(data.replace( /<img[^>]*>/gi, ''))
.find(".fl:eq(1) a[href*='" + uI + "']")
.parents('tr:eq(0)').find('.top-count:eq(0)')
.contents().text().trim().replace(/\D+/,'');
rT.Push(
[tA,sT ? parseInt(sT) : 0]
);
$('#' + dI + ' td:last').html('Done.');
cA--;
});
};
var tU = function(){ // get user page via ajax
jQuery.get(uP, function(result){
fT($(result.replace( /<img[^>]*>/gi, '')));
})
};
var fT = function(pN){ // find tags in page node
if(!pN)pN = $('html');
pN.find('.user-stats-table:eq(3) a.post-tag').each(
function(index,item){
aT.Push(item.innerHTML.replace(/<[^>]*>/gi, ''));
}
);
tT=aT.length;
$('#'+rD).html('<h3>Retrieving tag scores...</h3>'
+ '<table style="width: 100%;"></table>');
dP();
};
pR();
if(document.URL==uP)// we're in user page
fT(false);
else // load user page per AJAX
tU();
PrintLiminator - Semelhante a outros bookmarklets de impressão, mas permite selecionar elementos a serem removidos da página.
Lembre-se da senha para remover o preenchimento automático = "desativado"
Uso alguns bookmarklets (nomeados + e -) para aumentar ou diminuir rapidamente a página de um artigo que estou lendo.
Decremento:
javascript:(function()%7B%20var%20e,s;%20IB=-1;%20function%20isDigit(c)%20%7B%20return%20(%220%22%20%3C=%20c%20&&%20c%20%3C=%20%229%22)%20%7D%20L%20=%20location.href;%20LL%20=%20L.length;%20for%20(e=LL-1;%20e%3E=0;%20--e)%20if%20(isDigit(L.charAt(e)))%20%7B%20for(s=e-1;%20s%3E=0;%20--s)%20if%20(!isDigit(L.charAt(s)))%20break;%20break;%20%7D%20++s;%20if%20(e%3C0)%20return;%20oldNum%20=%20L.substring(s,e+1);%20newNum%20=%20%22%22%20+%20(parseInt(oldNum,10)%20+%20IB);%20while%20(newNum.length%20%3C%20oldNum.length)%20newNum%20=%20%220%22%20+%20newNum;%20location.href%20=%20L.substring(0,s)%20+%20newNum%20+%20L.slice(e+1);%20%7D)();
Incremento:
javascript:(function()%7B%20var%20e,s;%20IB=1;%20function%20isDigit(c)%20%7B%20return%20(%220%22%20%3C=%20c%20&&%20c%20%3C=%20%229%22)%20%7D%20L%20=%20location.href;%20LL%20=%20L.length;%20for%20(e=LL-1;%20e%3E=0;%20--e)%20if%20(isDigit(L.charAt(e)))%20%7B%20for(s=e-1;%20s%3E=0;%20--s)%20if%20(!isDigit(L.charAt(s)))%20break;%20break;%20%7D%20++s;%20if%20(e%3C0)%20return;%20oldNum%20=%20L.substring(s,e+1);%20newNum%20=%20%22%22%20+%20(parseInt(oldNum,10)%20+%20IB);%20while%20(newNum.length%20%3C%20oldNum.length)%20newNum%20=%20%220%22%20+%20newNum;%20location.href%20=%20L.substring(0,s)%20+%20newNum%20+%20L.slice(e+1);%20%7D)();
Coralize para adicionar um site ao CDN Coral antes de obter slashdotted .
Similarmente:
Eu tenho minha própria coleção de tais utilitários que podem ser encontrados aqui ...
KeepVid: http://keepvid.com/
Eu tenho uma tela grande. Alguns sites não limitam a largura máxima do conteúdo. Isso geralmente torna textos longos ilegíveis. Então, meu bookmarklet favorito é esse. limita a largura máxima da página.
javascript:(function(){var%20newSS,%20styles='body%20{max-width:%20800px;}';%20if(document.createStyleSheet)%20{document.createStyleSheet(%22javascript:'%22+styles+%22'%22);}%20else%20{newSS=document.createElement('link');%20newSS.rel='stylesheet';%20newSS.href='data:text/css,'+escape(styles);%20document.documentElement.childNodes[0].appendChild(newSS);}})();
XRAY
Eu o uso para ver o modelo da caixa de qualquer elemento em qualquer página da web.
Quem gosta de bookmarklets deve dar uma olhada nas extensões iMacros Firefox e chrome. Eles permitem que você crie "macros" (como bookmarklets grandes) para autoamte tarefa. Nós os usamos para todos os tipos de "coisas" no escritório.
Criando "Bookmarklets" do iMacros no Firefox:
Aardvark, que é uma extensão do Firefox e um bookmarklet (para Chrome, Safari e Internet Explorer). É útil para desenvolvedores da Web e para pessoas que desejam apenas limpar uma página antes de imprimi-la. http://karmatics.com/aardvark/
Eu uso Diigo e o diigolet no safari, eles têm um barra de ferramentas para alguns navegadores.
Confie em mim, tente.
Eventualmente Zap Colors é instalado em qualquer navegador que eu use. Texto em cinza em um fundo preto? Zap e de repente é legível.
Enquanto o Opera tem uma opção para recarregar automaticamente uma página da Web em intervalos predefinidos , o Internet Explorer, Firefox e Safari não possuem esse recurso por padrão.
Aqui está a minha versão do bookmarklet para atualizar automaticamente qualquer página da web após um intervalo especificado . Isso é útil para rastrear páginas da web que veiculam informações dinamicamente, mas podem não ter implementado AJAX para atualização automática.
Pesquisa na Wikipedia para pesquisar o texto destacado na Wikipedia
Kippt para salvar URLs, também quero acessar dos meus dispositivos móveis.
Legibilidade para tornar o artigo mais legível para os meus olhos.
lista universal de pedidos da Amazon para rastrear itens que eu possa querer comprar mais tarde (aniversários, presentes de Natal etc.)
Existem muitas informações úteis bookmarklets para serviços do Google :
Eu uso os seguintes bookmarklets:
Plugue sem vergonha, mas além do bookmarklet Amazon Wishlist eu uso o Botão Woot This Deal quando encontro um bom negócio para um produto on-line que quero comprar.
Se você é um web designer ou alguém que gosta de tipografia, gostaria de Font Friend bookmarklet.
javascript:void(eval("window.document.onmouseup=null;window.document.onmousedown=null;window.document.onmouseover=null;window.document.onmouseout=null;window.document.oncontextmenu=null;"))
Impede que a página capture eventos do mouse em JavaScript, útil para sites que não permitem clicar com o botão direito do mouse ou selecionar texto. Eu não tenho certeza de onde é originalmente, no entanto.
Alguns para a interface da web do Twitter:
DeClutter Twitter : filtra todos os tweets que correspondem a palavras-chave predefinidas (iPad, 4square, etc)
Remoção do cartão de visita : impede que os cartões de visita apareçam e bloqueiem automaticamente um Tweet inteiro sempre que você passa o mouse sobre um nome de usuário
Ambos são bookmarklets rápidos que eu juntei para coçar e coçar e usar na maioria dos dias. A filtragem de palavras-chave, em particular, é algo suportado em vários clientes do Twitter, mas ainda não chegou à interface da web, de modo que o bookmarklet torna minha linha do tempo muito mais legível nos dias de lançamento do produto Apple/durante jogos esportivos Não estou interessado em/etc!
Alguns simples que não são do Twitter, com base no URL do site em que você está:
Quando um site que você está visitando está inoperante, marque DownForEveryOneOrJustMe.com para ver rapidamente se é uma rede que está do seu lado ou não javascript:window.location%20=%20'http://www.downforeveryoneorjustme.com/'+window.location.Host;
Provavelmente um nicho bastante bonito, mas faça uma pesquisa WHOIS no domínio atual: javascript:window.location%20=%20'http://who.is/whois/'+window.location.Host;
PageZipper carrega artigos com várias páginas em uma página.
Evento Visual para mostrar todos os manipuladores de eventos anexados
WTF - para determinar quais bibliotecas JavaScript estão em uso na página atual.
Uso a fonte de exibição no Internet Explorer. Permite ver o domínio real (incluindo todas as manipulações de javascript) da página atual
javascript:(function(){c=unescape(document.documentElement.innerHTML);c=c.replace(/&/g,'&');c=c.replace(/</g,'<');c=c.replace(/>/g,'>');c=c.replace(/</g,'<');c=c.replace(/>/g,'>');document.write('<html><head><title>Source%20of%20Page<\/title><\/head><body><pre>'+c+'<\/pre><\/body><\/html>');x.document.close();})();
Uma simples: "Visualizar Cookies"
javascript:alert('Cookies%20stored%20by%20this%20Host%20or%20domain:\n\n'%20+%20document.cookie.replace(/;%20/g,'\n'));
Eu uso isso de tempos em tempos:
javascript:b=document.body;b.contentEditable=b.contentEditable=='true'?'false':'true';void(0);
Eu uso este, do validador W3C , muito útil para desenvolvedores web:
javascript:window.open('http://validator.w3.org/check?uri='+escape(window.location));void%200
Lista de Desejos Universal - Whimventory