Celui que j'utilise le plus souvent est Show Anchors , que j'ai créé. Il affiche une icône d'ancrage à côté de chaque élément de la page auquel il est possible de lier directement.
Cela semble stupide, mais c'est très utile lorsque vous souhaitez renvoyer quelqu'un vers une section spécifique d'un site Web. Et il est beaucoup plus facile que d'essayer de déterminer où le propriétaire du site a placé ses liens d'ancrage (s'ils l'avaient même fait en premier lieu).
J'ai trouvé ceci sur GitHub . C'est amusant et j'aime bien penser à autre chose et m'en débarrasser!
Lire plus tard (marque la page pour une lecture ultérieure dans InstaPaper )
Réécrit la plupart des URL raccourcies sur une page pour indiquer où elles vous mèneront.
J'utilise SuperGenPass pour hacher mon mot de passe principal en mots de passe uniques pour les sites que je visite (le hachage est basé sur le domaine). Très pratique.
TinEye bookmarklet pour rechercher d'autres sources d'images sur une page Web.
BugMeNot pour contourner rapidement la connexion des sites Web nécessitant un enregistrement obligatoire et/ou la collecte d'informations personnelles/démographiques (comme le New York Times).
Quix: http://quixapp.com
Ceci est un peu similaire à Quicksilver pour le Web. C'est très utile pour le développement web. Vous pouvez également configurer Chrome pour l'utiliser comme moteur de recherche afin de transformer la barre d'adresse en ligne de commande.
J'utilise StackPrinter bookmarklet; cela permet d'imprimer des questions d'échange de pile (comme celle-ci) d'une manière conviviale.
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 est le bookmarklet sans lequel je ne peux pas vivre. Ajoute si nécessaire jQuery à la liste des scripts de la page. Cela rend l’écriture d’autres petits bookmarklets beaucoup moins pénible!
Voici mon propre bookmarklet pour tous les sites Stack Exchange:
Ce code affichera le nombre de votes positifs pour toutes les balises qui apparaissent dans la section des balises supérieures de votre page utilisateur. Cela devrait fonctionner sur n'importe quel site Stack Exchange sur lequel vous êtes connecté (mais je ne l'ai testé que sur Stack Overflow et Meta Stack Overflow). Malheureusement, il existe un bug dans la logique de redirection des synonymes qui empêchera ce script de fonctionner avec les synonymes des balises.
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)
Et voici une version lisible du 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 - Semblable à d'autres bookmarklets d'impression, mais vous permet de sélectionner des éléments à supprimer de la page.
Mémoriser le mot de passe pour supprimer autocomplete = "off"
J'utilise quelques bookmarklets (nommés + et -) pour incrémenter ou décrémenter rapidement la page d'un article que je lis.
Décrémenter:
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)();
Incrément:
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 pour ajouter un site à Coral CDN avant qu'il ne soit slashdotted .
De même:
J'ai ma propre collection de tels utilitaires, ceux-ci peuvent être trouvés ici ...
KeepVid: http://keepvid.com/
J'ai un grand écran. Certains sites Web ne limitent pas la largeur maximale du contenu. Cela rend souvent les longs textes illisibles. Donc, mon bookmarklet préféré est le suivant. Il limite la largeur maximale de la page.
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
Je l'utilise pour voir le modèle de boîte de n'importe quel élément d'une page Web.
Quiconque aime les bookmarklets devrait jeter un œil aux extensions iMacros Firefox et chrome. Ils vous permettent de créer des "macros" (un peu comme de très gros bookmarklets) pour une tâche autoamte. Nous les utilisons pour toutes sortes de "choses" au bureau.
Créer des "Bookmarklets" iMacros dans Firefox:
Aardvark, qui est à la fois une extension de Firefox et un bookmarklet (pour Chrome, Safari et Internet Explorer). Il est utile pour les développeurs Web ainsi que pour les personnes qui souhaitent simplement nettoyer une page avant de l’imprimer. http://karmatics.com/aardvark/
J'utilise Diigo et le diigolet sur safari, ils ont un barre d'outils pour certains navigateurs bien.
Croyez-moi, essayez-le.
Finalement, Zap Colors est installé sur tous les navigateurs que j'utilise. Texte gris sur fond noir? Zap et c'est soudain lisible.
Alors que Opera a la possibilité de recharger automatiquement une page Web à des intervalles prédéfinis , Internet Explorer, Firefox et Safari ne disposent pas de cette fonctionnalité par défaut.
Voici ma version d'un bookmarklet pour actualiser automatiquement toute page Web après un intervalle spécifié . Ceci est utile pour suivre les pages Web qui traitent des informations de manière dynamique mais n'ont peut-être pas implémenté AJAX pour s'actualiser automatiquement.
Recherche Wikipedia pour rechercher le texte surligné sur Wikipedia
Kippt pour enregistrer les URL auxquelles je souhaite également accéder à partir de mes appareils mobiles.
Lisibilité pour rendre l'article plus lisible pour mes yeux.
liste de souhaits universelle d'Amazon pour le suivi de vos achats futurs (anniversaires, cadeaux de Noël, etc.)
Il y a beaucoup de choses utiles bookmarklets pour les services Google :
J'utilise les bookmarklets suivants:
Prise sans vergogne, mais en plus du Amazon Wishlist bookmarklet J'utilise le bouton Woot This Deal lorsque je trouve un bon prix pour un produit en ligne que je veux acheter.
Si vous êtes un concepteur de sites Web ou que vous aimez la typographie, vous apprécierez 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;"))
Cela empêche la page de capturer les événements de la souris en JavaScript, ce qui est utile pour les sites qui ne vous permettent pas de cliquer avec le bouton droit de la souris ou de sélectionner du texte. Cependant, je ne sais pas d'où il vient.
Un couple pour l'interface Web Twitter:
DeClutter Twitter : élimine tous les tweets correspondant à des mots-clés prédéfinis (iPad, 4square, etc.)
Hovercard Removal : Empêchez les cartes survolées d'apparaître automatiquement et de bloquer un Tweet entier à chaque fois que vous passez la souris sur un nom d'utilisateur.
Ce sont tous deux des bookmarklets rapides que j'ai réunis pour me gratter et que j'utilise presque tous les jours. Le filtrage de mots clés est en particulier pris en charge par plusieurs clients Twitter mais ne s'est pas encore rendu sur l'interface Web. Le bookmarklet rend donc mon calendrier beaucoup plus lisible le Apple jours de lancement du produit/pendant les jeux de sport. Je ne suis pas intéressé par/etc!
Quelques simples non-Twitter basés sur l'URL du site sur lequel vous vous trouvez:
Quand un site que vous visitez est en panne, vérifiez DownForEveryOneOrJustMe.com pour voir rapidement si c'est un problème de réseau de votre côté ou non javascript:window.location%20=%20'http://www.downforeveryoneorjustme.com/'+window.location.Host;
Probablement jolie niche, mais faites une recherche WHOIS sur le domaine actuel: javascript:window.location%20=%20'http://who.is/whois/'+window.location.Host;
PageZipper charge des articles de plusieurs pages sur une page.
Visual Event pour afficher tous les gestionnaires d’événements attachés
WTF - pour déterminer les bibliothèques JavaScript utilisées sur la page en cours.
J'utilise view source sur Internet Explorer. Cela me permet de voir le vrai dom (y compris toutes les manipulations javascript) de la page en cours.
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();})();
Un simple: "Voir les cookies"
javascript:alert('Cookies%20stored%20by%20this%20Host%20or%20domain:\n\n'%20+%20document.cookie.replace(/;%20/g,'\n'));
Je l'utilise de temps en temps:
javascript:b=document.body;b.contentEditable=b.contentEditable=='true'?'false':'true';void(0);
J'utilise celui-ci, du validateur W3C , très pratique pour les développeurs Web:
javascript:window.open('http://validator.w3.org/check?uri='+escape(window.location));void%200
Liste de souhaits universelle - Whimventory