스마트에디터2에서 링크작성시 타겟을 도메인에 따라 _self 와 _blank 선택되도록하는 법?
본문
스마트에디터2에서 글작성시에
링크url이 들어 갈 경우 target이 자동으로 _self 로 설정되는 데,
글내용을 작성시에
외부링크는 target="_blank" 로
내부링크는 target="_self" 로 되게 하려면,
스마트에디터2 화일중에서
어떤 화일을 어떻게 고쳐야 할지 아시는 분 알려주시면 고맙겠습니다.
답변 1
링크에 타겟추가되는것은
view.php 에서$view = get_view($write, $board, $board_skin_path); 이부분에서 시작입니다.
흐름대로 찾아가보면 common.lib.php 파일에서 아래 함수순으로 실행되어 최종적으로는 관리자->환경설정->게시판 기본설정의 새창링크에 저장된 값으로 a태그에 target 붙여서 보여지게됩니다.
get_view() -> get_list() -> conv_content() -> url_auto_link()
저장시에 a태그는 입력한 그대로 순수하게 저장되어 view.php에서 변환되어 보여지므로 스마트에디터와는 상관없습니다. url_auto_link()함수보시면 아시겠지만 wr_content 전체에서 a태그의 href속성만 일괄적으로 바꾸기때문에 내부링크여부를 파악해서 if문넣고 할려면 복잡해질겁니다.
그냥 view.skin.php 에 아래 스크립트를 추가해보세요.
var host_name = location.hostname.replace( 'www.', '' );
$("#bo_v_con a").each(function (i,e) {
var $a = $(this);
var href = $a[0].hostname.replace( 'www.', '' );
if(host_name==href){
$a.attr('target','_self');
}else{
$a.attr('target','_blank');
}
});
답변을 작성하시기 전에 로그인 해주세요.