我有一个弹出链接,用于检测它是否是外部链接。弹出窗口能够检测是否正确存在外部链接。
该网站正在使用Mura CMS,用户已使用Mura CMS中的功能在Mura(click here)中创建链接。对于创建具有外部链接的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链接包含内部还是外部链接?