외부링크를 새창으로 띄우기 위해 애드온을 사용중입니다.
원래 애드온 사용 목적이 자신의 도메인이 아닌 경우는 모두 새창으로 뜨우는 것 이어서 애드온 설정에 자신의 도메인 일부를 입력하여 이 입력된 문자와 일치하지 않는 모든 링크는 새창으로 띄우게 되어 있습니다.
그런데 최근 #user_content_ 링크를 사용하게 되면서 이 링크의 경우 도메인이 없어서 새창으로 띄워지게 되는데요.
그래서 애드온 설정에 입력 한개를 더 만들어서 자신의 도메인, user_content 두개가 없는 경우 새창으로 띄우게 애드온을 수정하려 합니다.
if($called_position == 'before_display_content' && Context::getResponseMethod() == 'HTML') {
$inurl = $addon_info->inurl;
$inurlext= $addon_info->inurlext; // 새롭게 추가할 예정입니다.
if($inurl) {
$pos_regx = "!<\!--AfterDocument\(([0-9]+),([0-9]+)\)-->!is";
$addHTML .= "<script>
jQuery(document).ready(function(){
jQuery('.xe_content[class^=document_] a, .xe_content[class^=comment_] a').each(function() {
var a = jQuery(this).attr('href');
var b = /(".$inurl.")/g;
if(!b.test(a)) {
jQuery(this).attr('target', '_blank');
}
});
});
</script>";
파란색 부분이 바뀌어야 할 것 같은데 어떻게 바꿔야 할지 모르겠습니다.
var a = jQuery(this).attr('href');
var b = /(".$inurl.")/g;
var c = /(".$inurlext.")/g;
if(!b.test(a) && !c.test(a)) {
jQuery(this).attr('target', '_blank');
}
});
이렇게 하니 되네요.