32
votes

I use:

You?

2
  • Delicious will soon be gone. Leaked info from an internal Yahoo meeting has confirmed this. Be prepared to soon hear about its demise. Start backing up your bookmarks. Meanwhile, the search is on for something as good as or better than delicious. Know any?
    – Mamta D
    Commented Dec 18, 2010 at 7:42
  • not according to Delicious - blog.delicious.com
    – Dave
    Commented Jan 6, 2011 at 18:07

44 Answers 44

25
votes

The one I probably use the most is Show Anchors, which I made. It shows an anchor icon next to every element on the page that can be linked to directly.

Sounds stupid, but it's very useful when you want to refer someone to a specific section of a website. And it's much easier than trying to figure out where the site owner put their anchor links (if they even did in the first place).

3
  • I wrote a bookmarklet to solve the same problem by just changing the URL to the closest anchor or ID to the selected text. This is neat though.. does it show IDs too?
    – intuited
    Commented Oct 6, 2010 at 7:06
  • @intuited: yeah, it does allow you to link to ID's... that's one of the reasons I created my own.
    – Senseful
    Commented Oct 6, 2010 at 15:54
  • +1 It is very nice and it would be great if it can even toggle it on and off.
    – IsmailS
    Commented Nov 26, 2010 at 6:40
15
votes

Read Later (marks page for reading later in InstaPaper)

15
votes

Kick Ass

http://erkie.github.com

I found this on GitHub. It's fun and likes to get my mind off things and also get rid of them!

0
12
votes

Long URL Please

Rewrites most shortened URLs on a page to show where they will take you.

7
votes

I use SuperGenPass to hash my master password into unique passwords for the sites I visit (the hash is based on the domain). Very convenient.

0
6
votes

TinEye bookmarklet for finding other sources for images on a webpage.

6
votes

BugMeNot to quickly bypass the login of web sites that require compulsory registration and/or the collection of personal/demographic information (such as the New York Times).

4
votes

Quix: http://quixapp.com

This is a little bit like Quicksilver for the web. It's very useful for web development. You can also configure Chrome to use it as a search engine to turn the address bar into a command line.

0
4
votes

I use StackPrinter bookmarklet; it allows to print Stack Exchange questions (like this one) in a printer-friendly way.

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!')}})()
3
votes
  1. Read Later (sends page to InstaPaper)
  2. Clip to Evernote (saves page as Evernote note)
  3. Readability
0
3
votes

jQuerify is the bookmarklet I can not live without. Adds (if necessary) jQuery to the list of scripts on the page. Makes writing other little bookmarklets much less painful!

2
votes

I use a couple of bookmarklets (named + and -) to quickly increment or decrement the page of an article I'm reading.

Decrement:

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)();

Increment:

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)();
2
votes

PrintLiminator - Similar to other printing bookmarklets, but lets you select elements to remove from the page.

0
2
votes

Here's my own bookmarklet for all Stack Exchange sites:

This code will show your upvote count for all tags that appear in your user page's top tags section. It should work on any Stack Exchange site you are logged in on (but I've only tested it on Stack Overflow and Meta Stack Overflow). Unfortunately there is a bug in the tag synonym redirection logic that will keep this script from working with tag synonyms.

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)

And here is a readable non-bookmarklet version of the 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();
0
2
votes

Remember password to remove autocomplete="off"

1
vote

KeepVid: http://keepvid.com/

1
vote

I have a large screen. Some websites don't limit the maximum width of the content. That often makes long texts unreadable. So my favorite bookmarklet is this. It limits the maximum width of the 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);}})();
1
  • 2
    Why don't you use document.getElementsByTagName( 'body' )[0].style.maxWidth = '800px';? Seems to me far easier than adding a new style sheet..
    – poke
    Commented Oct 4, 2010 at 23:58
1
vote

XRAY
I use it to see the box model for any element on any web page.

1
vote

Eventually Zap Colors gets installed on any browser I use. Gray text on a black background? Zap and it's suddenly readable.

1
vote

I have my own collection of such utilities those can be found here...

http://saraswaticlasses.net/sites/links4.php

1
vote

Anyone who likes bookmarklets should have a look at the iMacros Firefox and chrome extensions. They let you create "macros" (kind of like huuge bookmarklets) to autoamte task. We use them for all kinds of "stuff" in the office.

Creating iMacros "Bookmarklets" in Firefox: Creating iMacros "Bookmarklets"

1
vote

Aardvark, which is both a Firefox extension and a bookmarklet (for Chrome, Safari and Internet Explorer). It is useful for web developers as well as people who just want to clean up a page prior to printing it. http://karmatics.com/aardvark/

1
vote

I use Diigo and the diigolet on safari, they have a toolbar for some browsers though.

Trust me, give it a try.

0
0
votes

Wikipedia Search for searching the highlighted text on Wikipedia

0
votes

Amazon universal wishlist for tracking things I might want to buy later (birthdays, Christmas gifts, etc)

0
votes

There are lots of useful bookmarklets for Google services:

  • Subscribe in Reader
  • Translate
  • Bookmark in Google Bookmarks
  • Add Event
  • Map this
  • Google Cache
  • Definitions
0
votes

I use the following bookmarklets:

0
votes

If you're a web designer, or someone who loves typography, you'd enjoy Font Friend bookmarklet.

Not the answer you're looking for? Browse other questions tagged or ask your own question.