Skip to content

Instantly share code, notes, and snippets.

@simonw
Forked from singpolyma/shorten-bookmarklet.js
Created April 12, 2009 12:32
Show Gist options
  • Save simonw/93982 to your computer and use it in GitHub Desktop.
Save simonw/93982 to your computer and use it in GitHub Desktop.
singpolyma's bit.ly version updated to detect rev=canonical on A elements as well
/* Expanded form of a bookmarklet for extracting rev=canonical OR tinyurling a page */
(function(){
var url=document.location;
var links=document.getElementsByTagName('link');
var found=0;
for(var i = 0, l; l = links[i]; i++) {
if (l.getAttribute('rev') == 'canonical' || (/alternate short/).exec(l.getAttribute('rel'))) {
found=l.getAttribute('href');
break;
}
}
if (!found) {
for (var i = 0; l = document.links[i]; i++) {
if (l.getAttribute('rev') == 'canonical') {
found = l.getAttribute('href');
break;
}
}
}
if (found) {
prompt('URL:', found);
} else {
window.onTinyUrlGot = function(r) {
if (r.errorCode == 0) {
var t;
for(var i in r.results) {
t = r.results[i].shortUrl;
}
prompt('URL:', t);
} else {
alert('Could not shorten with bit.ly');
}
};
var s = document.createElement('script');
s.type='text/javascript';
s.src='http://api.bit.ly/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&version=2.0.1&callback=onTinyUrlGot&longUrl=' + encodeURIComponent(document.location);
document.getElementsByTagName('head')[0].appendChild(s);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment