Using jQuery to check if a link is internal or external

后端 未结 8 935
南旧
南旧 2020-12-29 09:29

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

8条回答
  •  心在旅途
    2020-12-29 10:09

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

提交回复
热议问题