게시판 본문에 강제로 새창 링크 주기 : 스마트 에디터
요즘 가끔 스마트 에디터에 글쓰기를 하다 보니...
자동 링크가 생겨나기는 한데 a태그에서 현재창 링크가 일어나더군요.
이건 별로 원하는 것이 아니어서 잠시 대갈빡을 굴려 보았습니다.
아래 코드를 view.skin.php 의 가장 하단부 또는 view.tail.skin.php 파일 안에 붙여 넣으면 본문 내의 모든 링크가 새창 링크로 전환됩니다.
[code]
<script>
for (va = 0; va < bo_v_con.getElementsByTagName("a").length; va++) bo_v_con.getElementsByTagName("a")[va].target = "_blank";
</script>
[/code]
또는 좀 더 엄밀성을 기하여
[code]
<script>
if (typeof document.querySelectorAll("#bo_v_con a")[0] == "object") for (view_link of document.querySelectorAll("#bo_v_con a")) view_link.target = "_blank";
</script>
[/code]
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 19개
게시판 관리자 설정에서 링크 어떻게 열게 할건지 옵션으로 넣어 주면 좋겠네요.^^
소스 중에서 ...target = "_blank"; 이 부분을
...target = "<?php echo $board['bo_1']; ?>"; 로 바꾸면 되겠지요.
그걸 이 팁으로 조절하려면 여분필드 조립이 필요하다는 얘기지요.
고맙습니다.
요즘 글을 읽다보니 보안상 타겟을 _blank 준곳에 아래와 같이 rel 을 붙여주면 좋다고 합니다. 이것을 추가하고 싶은데요. 어떻게 넣어야 할지 몰라서요. 혹시 조언 부탁드려도 될까요?
예) target='_blank' rel='noopener noreferrer'
[code]
<script>
for (va = 0; va < bo_v_con.getElementsByTagName("a").length; va++) {
bo_v_con.getElementsByTagName("a")[va].target = "_blank";
bo_v_con.getElementsByTagName("a")[va].rel = "noopener noreferrer";
}
</script>
[/code]
퇴근후 적용해 보겠습니다
update)
잘 됩니다. 그누보드에서 자동으로 nofollow가 붙나보네요.
소스보기를 하니 아래와 같이 3개 들어가네요. 확실히 막아주는것 같아요. 감사합니다.
<a href="https://87mania.co.kr" target="_blank" rel="nofollow noreferrer noopener">
안 되면 이상하지요.ㅋ