I want to write a script which can determine whether a link is internal or external. This is simple from my perspective, all internal links are relative, so they start with
I use this one to find all urls pointing to domain other than current domain or one with (html5 deprecated) attribute target="_blank"
var contrastExternalLinks = function() {
//create a custom external selector for finding external links
$.expr[':'].external = function( obj ) {
return (
$(obj).attr('target') && $(obj).attr('target') =='_blank' )
||
(!obj.href.match(/^mailto\:/) && !obj.href.match(/^tel\:/) && (obj.hostname != location.hostname )
);
};
// Usage:
$(document).ready(function() {
$('a:external').addClass('external');///css('background-color', 'green');
})
}();