At some point Bookmarklets died and no one played their dirge.

 

If you don’t know what a bookmarklet is, it’s a small piece of javascript code embedded in a bookmark. In some cases, the script injects a javascript file into the the website where the bookmark was clicked. This injection is makes them super useful but is probably also what made them disappear. 

 

XSS (Cross-site scripting) is a topic for another day, but you should beware of it you're not. Go look it up, I’ll wait. No really, this article will still be here when you get back.

 

In the past few weeks, I’ve been creating some interesting bookmarklets to help with my web development. Some of these I’ve found, others I’ve created (mine). To use them, simply drag each headings link to your bookmark bar.

 

Last Modified:

javascript:alert(document.lastModified)

 

 

Want to know the last time an asset was updated? Do note that this bookmarklet only works with static content. It won’t work on server side rendered content like Asp.Net or PHP. If the alert shows you today, right now, it’s most likely dynamically generated.

 

BuiltWith:

javascript:window.location.href='http://builtwith.com/?'+encodeURIComponent(document.location)

 

“BuiltWith is a website profiler, lead generation, competitive analysis and business intelligence tool providing technology adoption, ecommerce data and usage analytics for the internet.”

 

 

BuiltWith shows you what technology a website is built on. Does this site use WordPress? jQuery? Windows Server? Apache?

 

Add jQuery:

javascript:if(typeof jQuery=='undefined') {var s = document.createElement('script');s.type = 'text/javascript';s.src = 'https://code.jquery.com/jquery-2.1.4.min.js';document.getElementsByTagName("head")[0].appendChild(s);}

 

Fiddling with someone else’s website and want to use jQuery in the console? Just use this bookmarklet and poke away.

 

Accessibility:

javascript:(function(){var tota11y=document.createElement('SCRIPT');tota11y.type='text/javascript';tota11y.src='//khan.github.io/tota11y/tota11y/build/tota11y.min.js';document.getElementsByTagName('head')[0].appendChild(tota11y);})();

 

 

This bookmarklet comes courtesy of khanacademy.org. “tota11y helps visualize how your site performs with assistive technologies.”

 

 

Find more at http://khan.github.io/tota11y/

 

WhoIs: (mine)

javascript:window.location.href='https://www.namecheap.com/domains/whois/results.aspx?domain='+encodeURIComponent(window.location.host)

 

Who’s behind that domain name? Get the current domain’s registrar, and register-er, and DNS servers.

 

Note: this could easily be changed from NameCheap to something else, but NameCheap is probably more awesome than your registrar of choice so just leave it.

 

MX Records:(mine)

javascript:window.location.href='https://mxtoolbox.com/SuperToolX.aspx?action=mx%3a'+encodeURIComponent(window.location.host.replace("www.",""))+'&run=toolpage'

MX Toolbox has some seriously cool web tools, including MX Record lookup by domain name. This bookmarklet will take the current domain and pass it on to their SuperTools. You cou easily adapt this to get any of the prefixes that MX Toolbox supports (dns,a,etc) just change action=mx to action=a.

 

 

ASafaWeb: (mine)

javascript:window.location.href='https://asafaweb.com/Scan?Url='+encodeURIComponent(window.location.host)

 

“Welcome to ASafaWeb, the Automated Security Analyser for ASP.NET Websites. The purpose of ASafaWeb is to make scanning for common configuration vulnerabilities in live ASP.NET websites dead easy. To that effect, you don't need anything more than a URL to get started and ASafaWeb will head off and report on anything it can find which is remotely detectable.”

 

While ASafaWeb is directed at .Net sites, there is still some valuable information for you none-.net-ers. Check for custom 404 errors, bad url checking, cookie information and excessive header information.

 

 

+ Pocket

(You have to login and get a custom bookmarklet code from Pocket)

“Pocket was founded in 2007 by Nate Weiner to help people save interesting articles, videos and more from the web for later enjoyment. Once saved to Pocket, the list of content is visible on any device — phone, tablet or computer. It can be viewed while waiting in line, on the couch, during commutes or travel — even offline.”

 

Pocket lets you save content to read later. One of the best features about Pocket is that it strips out all the other garbage so you can actually read an article — there’s a novel (pun intended) idea.

 

 

Get Pocket

 

Bootstrap

 

The rest of the bookmarklets are about Bootstrap.

 

 Bootstrap Visibility: (mine)

javascript:$('body').prepend('<span class="visible-lg label label-success">visible-lg</span><span class="visible-md label label-success">visible-md</span><span class="visible-sm label label-success">visible-sm</span><span class="visible-xs label label-success">visible-xs</span>');

 

 

Need to know what Bootstrap thinks the current device size is? Click this bookmark. It will add label to the top of the screen with text like “visible-lg”. 

 

 

Try resizing the browser after adding this. You’ll see it change along with the browser! No guess about which media queries are in use.

 

 

Bootstrap Column Highlighter: (mine)

javascript:$('body').append('<style>*[class^="col-"] { border: 2px solid green; }</style>');$('[class^=col-]').each(function () {    $(this).prepend('<div class="label label-success" style="top: 0; left: 15px;">' + $(this).attr("class") + '</div>');});

 

 

Highlight Bootstrap’s grid system (col-*-*). This bookmarklet will add a border around each element that has a class of col-*-* (col-md-6) and a label displaying what class(es) are applied.

 

This is helpful with the Bootstrap Visibility bookmarklet above so you can tell why an element looks the way it does and what will happen when the viewport is different.

 

 

Bootswatchlet:

javascript:(function(e,a,g,h,f,c,b,d)%7Bif(!(f%3De.jQuery)%7C%7Cg%3Ef.fn.jquery%7C%7Ch(f))%7Bc%3Da.createElement(%22script%22)%3Bc.type%3D%22text/javascript%22%3Bc.src%3D%22//ajax.googleapis.com/ajax/libs/jquery/%22%2Bg%2B%22/jquery.min.js%22%3Bc.onload%3Dc.onreadystatechange%3Dfunction()%7Bif(!b%26%26(!(d%3Dthis.readyState)%7C%7Cd%3D%3D%22loaded%22%7C%7Cd%3D%3D%22complete%22))%7Bh((f%3De.jQuery).noConflict(1),b%3D1)%3Bf(c).remove()%7D%7D%3Ba.documentElement.childNodes%5B0%5D.appendChild(c)%7D%7D)(window,document,%221.3.2%22,function(%24,L)%7Bif(%24(%22.bootswatcher%22)%5B0%5D)%7B%24(%22.bootswatcher%22).remove()%7Delse%7Bvar%20%24e%3D%24(%27%3Cselect%20class%3D%22bootswatcher%22%3E%3Coption%3ECerulean%3C/option%3E%3Coption%3ECosmo%3C/option%3E%3Coption%3ECyborg%3C/option%3E%3Coption%3EDarkly%3C/option%3E%3Coption%3EFlatly%3C/option%3E%3Coption%3EJournal%3C/option%3E%3Coption%3ELumen%3C/option%3E%3Coption%3EPaper%3C/option%3E%3Coption%3EReadable%3C/option%3E%3Coption%3ESandstone%3C/option%3E%3Coption%3ESimplex%3C/option%3E%3Coption%3ESlate%3C/option%3E%3Coption%3ESpacelab%3C/option%3E%3Coption%3ESuperhero%3C/option%3E%3Coption%3EUnited%3C/option%3E%3Coption%3EYeti%3C/option%3E%3C/select%3E%27)%3Bvar%20l%3D1%2BMath.floor(Math.random()*%24e.children().length)%3B%24e.css(%7B%22z-index%22:%2299999%22,position:%22fixed%22,top:%225px%22,right:%225px%22,opacity:%220.5%22,color:%22%23000%22%7D).hover(function()%7B%24(this).css(%22opacity%22,%221%22)%7D,function()%7B%24(this).css(%22opacity%22,%220.5%22)%7D).change(function()%7Bif(!%24(%22link.bootswatcher%22)%5B0%5D)%7B%24(%22head%22).append(%27%3Clink%20rel%3D%22stylesheet%22%20class%3D%22bootswatcher%22%3E%27)%7D%24(%22link.bootswatcher%22).attr(%22href%22,%22//bootswatch.com/%22%2B%24(this).find(%22:selected%22).text().toLowerCase()%2B%22/bootstrap.min.css%22)%7D).find(%22option:nth-child(%22%2Bl%2B%22)%22).attr(%22selected%22,%22selected%22).end().trigger(%22change%22)%3B%24(%22body%22).append(%24e)%7D%3B%7D)%3B

 

 

This bookmarklet will add a small dropdown and allow you to change the site’s theme (sort of). It has Bootswatch’s predefined template selection so you can change the font colors and most of Bootstrap’s default styles.

 

 

 

 

Enjoy and let me know if you have any “must have” bookmarklets. Don’t be ashamed, we’re all in this together. Come on, I know you still use them.