테스트 사이트 - 개발 중인 베타 버전입니다

스마트에디터2에서 링크작성시 타겟을 도메인에 따라 _self 와 _blank 선택되도록하는 법?

헬프온 6년 전 조회 5,049

스마트에디터2에서 글작성시에

링크url이 들어 갈 경우 target이 자동으로 _self 로 설정되는 데,

 

글내용을 작성시에

외부링크는 target="_blank" 로  

내부링크는 target="_self" 로 되게 하려면, 

 

스마트에디터2 화일중에서

어떤 화일을 어떻게 고쳐야 할지 아시는 분 알려주시면 고맙겠습니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

세크티
6년 전

링크에 타겟추가되는것은 

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 에 아래 스크립트를 추가해보세요. 

</p>

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

});</pre>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인