Как определить, является ли ссылка Mura внешней ссылкой - PullRequest
0 голосов
/ 05 марта 2019

У меня есть всплывающая ссылка, которая определяет, является ли это внешней ссылкой.Всплывающее окно может определить, правильно ли существует внешняя ссылка.

Сайт использует Mura CMS, пользователи которой использовали функцию в Mura для создания ссылок в Mura ( нажмите здесь ).Это проблема для пользователей, создающих ссылки Mura, которые имеют внешние ссылки, и логика в игре не может определить, является ли ссылка внутренней или внешней.

Ниже приведена логика, используемая для обнаружения внешних ссылок:

$("a:not('.frontEndToolsModal')").on('click', function(e){
    e.preventDefault();
    var url = $(this).attr('href'),
        host = location.host;

    if (url.indexOf(host) > -1 || url.indexOf('http','https') == -1){
        /* If we find the host name within the URL,
           OR if we do not find http or https, 
           meaning it is a relative internal link.

           The following statements is to not interefere with Mura CMS front end tools
        */

        if(url.indexOf('/admin/?muraAction=cArch.list') == 0){
            var newTab = window.open(url, '_blank');
            newTab.focus();
        }
        else if(url.indexOf('/admin/?muraAction') == 0){
            //do nothing
        }else{
            window.location.href = url;
        }
    }else {

        var m = modal.open({content: "POP UP MESSAGE"});

        if(m == true) {
            return m;
        } 
    }
});

Мой вопрос: как я могу определить, содержит ли созданная ссылка Mura внутреннюю или внешнюю ссылку?

...