Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Expanded form of a bookmarklet for extracting rev=canonical OR tinyurling a page
/* 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.ok) {
prompt('URL:', r.tinyurl);
} else {
alert('Could not shorten with tinyurl');
}
};
var s = document.createElement('script');
s.type='text/javascript';
s.src='http://json-tinyurl.appspot.com/?callback=onTinyUrlGot&url=' + 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
You can’t perform that action at this time.