티스토리 댓글에 링크달기
이전에 작성한 글이 있어서 링크를 겁니다.
페이지 하단에 아래의 script를 넣으면 댓글에 링크가 걸립니다.
아래의 whitelist설정에 따라 자신의 블로그 링크만 링크가 걸립니다.
(function() {
var newTab=true; // 새 탭으로열기 true, false
var comm=document.querySelectorAll(".comm-con p");//이곳에 " " 는 댓글 내용이 담기는 태그를 CSS selector로 지정
var whitelist=[TistoryBlog.url.split("/")[2],TistoryBlog.tistoryUrl.split("/")[2]];//이곳에 주소 리스트를 쓸수있습니다.
var wRegex=new RegExp("(https?:\\\/\\\/"+whitelist.join("\\\/?[^\\\s<\\\"']+)|(https?:\\\/\\\/")+"\\\/?[^\\\s<\\\"']+)","g");
var nl=new RegExp("\n",'g');
function urlfy(t){return t.replace(wRegex, function(t){return '<a href="'+t+'" target="'+(newTab?"_blank":"_self")+'">'+t+"</a>"})}
for (var i = 0; i < comm.length; i++) {
var before=comm[i].innerText;
var after=urlfy(before);
if(before!=after){
comm[i].innerHTML=after.replace(nl, "<br>");
}
}
})();
var comm=document.querySelectorAll(".comm-con p");
여기에 들어가는 ".comm-con p" 는 css 스타일의 선택자로
comm-con 클래스의 자손 p 태그를 의미합니다.
자신의 스킨에 맞는 선택자는 티스토리 스킨에서 s_rp_rep 태그 안에 표시됩니다.
가 있는곳을 지시하도록 CSS선택자를 작성해야됩니다.
화이트 리스트 수정 방법
var whitelist=[TistoryBlog.url.split("/")[2],TistoryBlog.tistoryUrl.split("/")[2]];
위와 같이 whitelist가 설정되었다면 "내 블로그"만 링크가 걸립니다.
var whitelist=["naver.com",'google.com','hi098123-skin.tistory.com','*.daum.net'];
큰따옴표(") 또는 작은따옴표(')와 콤마(,)로 구분하여 도메인을 넣어주세요.
http 부분은 제거하고 넣어주시면 됩니다.
*.example.com 처럼 * 별표로 마스킹도 가능합니다.
var whitelist=[];
모든 주소를 허용하려면 whitelist를 비우세요
주의 : 모든리스트 허용시 악성링크가 걸린다면 애드센스 또는 검색엔진 등에 문제가 발생할 수 있습니다.
주의사항
- whitelist에 포함되지 않은 도메인은 링크가 걸리지 않습니다.http부분 제거한 도메인만 입력했나 확인해주세요
- 링크 뒤에는 공백(엔터 포함), 따옴표(" ') 이외에 문자가 나오면 링크 주소로 오해할 수 있으므로 링크끝은 공백을 넣어주시는걸 추천드립니다.
업데이트 내역
- 2021-09-07 : 크게 상관은 없지만 성능향상, 불필요한 코드제거
'티스토리 > JS' 카테고리의 다른 글
[2022년 11월] 티스토리 변경사항에 따른 유저 스크립트 소스 변경 필요사항 (1) | 2022.11.23 |
---|---|
티스토리 이미지를 Avast가 차단한다? (7) | 2020.11.23 |
iframe간 CORS무시? postMessage (0) | 2020.08.10 |
티스토리 2차도메인 댓글 문제 임시 해결하기 (38) | 2020.08.03 |
저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 한 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
링크 공유는 가능합니다. 만약, 본문 공유 시 링크 공유를 해주세요
댓글 3개