팁/튜토리얼

댓글 새로고침 없는 스케치북 스킨 with 스티커

2016.12.29 20:22
3,218
10

제목 없음.png

 

https://github.com/huhani/xe-comment-without-refresh

 

자꾸 중복 올리는 것 같아서 죄송합니다 ㅠㅠ

기능은

1. 새로고침 없는 댓글 작성

2. 새로고침 없는 댓글 수정

3. 새로고침 없는 댓글 삭제

4. 새로고침 없는 cpage 이동

5. 새로고침 없는 댓글 추천

6. 스티커 모듈 연동(스킨 설정에서 사용가능)

 

개발 환경은 php 5.6, XE 1.8.27, textarea에디터 사용을 기준으로 제작되었고 스티커 모듈 연동 기능은 모바일에선 권장하지 않습니다.

 

만약 잘 사용하신다면 깃허브에 별이라도 눌러주시면 감사하겠습니다 ㅠㅠ

 

board_extender 애드온 API:

 

1. document_srl과 comment_srl이 주어졌을 경우 자동으로 해당 댓글이 있는 cpage 찾아가기(전송값 중에 cpage값이 없어야 합니다):

http://domain_example.com/index.php?mid=testboard&document_srl=65535&comment_srl=2147483647&cpage_detect=1

 

2. 댓글 권환 체크하기(특히 비회원):

        var params = {
            mid : current_mid,
            document_srl : document_srl,
            comment_srl : comment_srl
        };
exec_json('comment.getCommentGrant', params, function(ret_obj){
var error = ret_obj.error;
var message = ret_obj.message;
var commentGrant = ret_obj.grant;

if(!commentGrant){
var password = prompt("비밀번호를 입력해주세요.", "");
if (password == null || password == ""){
return false;
}

});

 

테스트 : http://test.dnip.co.kr/index.php?mid=board&document_srl=418

 

+ 2016.12.31

스케치북 1.7.2로 업데이트 및 댓글단 ck에디터 호환작업 하였습니다.

 

+ 2017.01.31

XSS 취약점 수정 <http://xvezda.blog.me/220921753825>

댓글 80

  • 2017.02.06 01:56 #493875

    유투브 혹은 기타 멀티미디어 크기가 큰 경우 비율에 맞게 가로세로 리사이징 + PC 유투브 전체화면 허용

  • 2017.02.06 04:27 #494002

    제목-없음-1.jpg

     

    비회원 댓글삭제시 해당에러는 무슨 에러일까요?

    500에러가 발생하네요.

  • 2017.02.06 08:44 #494312
    이렇게만 봐선 오류 파악이 어렵습니다
    php에러 로그 캡쳐해주신다면 확인해보겠습니다.
  • 2017.02.09 06:28 #497384

    댓글 작성시에 한 가지 문제가 있는데, oEmbed를 사용할 경우, 댓글에 유튜브 링크 등이 있을 때, 새 댓글을 작성하거나 하기 전에는 정상적으로 oEmbed가 작동해서 동영상이 보이는데, 새 댓글을 작성하고 나면 그때부터 갑자기 댓글 영역에서 oEmbed가 동작하지 않네요.(동영상을 재생 중이었을 경우 끊어집니다.) 새로고침을 해야 다시 나옵니다. (본문영역은 관계없음)

    혹시 해결방법 아시나요?

  • 2017.02.09 07:17 #497481
    https://metalgall.net/test/1011424

    테스트용 링크입니다.
  • 2017.02.09 07:37 #497528

    저게 댓글 새로고침 대신 html부분을 교체해버리는 방식이라
    oEmbed뿐만 아니라 자동 링크 애드온도 아마 씹혀버릴겁니다.
    댓글 새로고침 후 다시 자바스크립트를 재로딩 시키거나 이중포문 돌려서 갱신된 댓글만 추가시켜야 될거에요

  • 2017.02.09 11:04 #497668
    한가지 문제가 더 있네요..

    관리자가 맨 마지막 댓글을 수정하려고 하면 댓글 수정 페이지가 로딩되네요.

    자기 자신이 쓴 댓글인 경우 아무 문제 없고, 맨 마지막 댓글이 아니라 그 위의 댓글들 또한 문제가 없습니다.

    맨 마지막 댓글 + 관리자가 다른 사람의 댓글 수정을 시도할 때만 이런 현상이 나타나네요

    (정확하게는, 댓글 수정 누르면 순간적으로 후하니님이 변경하신 댓글 수정창이 뜨는데, 그때 글자들이 <p> 태그로 감싸져 있는 증상이 나타납니다.

    이 화면이 뜨고 나서 곧바로 별도의 댓글 수정페이지로 넘어가네요. 물론 다른 댓글이나 자기 자신이 쓴 댓글은 p 태그 같은거 안 나타납니다.)

    근데 다 그런 것도 아닙니다. 어느 시점 이후의 게시물부터 그런 증상이 나타나는데, 타임라인 모듈과 관련이 있는 거 같기도 하고..

    도무지 뭐때문에 그런지 알 수가 없네요;;

    혹시 해결방법 아시는지 궁금합니다.

    자꾸 질문드려서 죄송합니다 ㅠㅠ

    (사실 저러한 경우가 매우 특이한 경우라, 굳이 해결 안 하고 그냥 써도 큰 문제는 없긴 합니다.)
  • 2017.02.09 11:15 #497681
    board.js openModifyEditor 함수 부분에

    if(text.indexOf("<p")+text.indexOf("<div") > -2){
    location.href = href;
    }

    HTML태그가 있는 경우 에디터로 넘어가게끔 되어있어서 그런 것 같습니다.
    아마 textarea가 아닌 다른 에디터를 사용하여 작성하여 등록하면 문제가 발생할 거에요.
  • 2017.02.09 12:24 #497716
    음.. 그렇군요. 분명 textarea로 작성한 댓글일텐데 왜 그러는건지.. 여튼 감사합니다.
  • 2017.02.17 05:17 #504392
    이거 대로 하면 대댓글은 작동하지 않더라구요~
  • 2017.02.17 05:53 #504436
    대댓글의 loadsticker(1,'reply')를 그대로 하면 대댓글 이안되어서

    loadsticker(1,$('input[name=parent_srl]').val()) 로 하니 잘 작동합니다.
  • 2017.09.01 14:25 #718434
    감사합니다
  • 2017.11.24 21:20 #805346

    혹시 다른 방법 있을까요? 저는 대댓글에서만 소유한 스티커가 안 떠서요. 스티커를 클릭해야 등록되잖아요. 그 스티커들이 안 뜹니다.

    근데 이렇게 바꾸니 비회원한테는 그래도 뜹니다. 회원은 여전히 안 뜨고요ㅠㅠ

  • 2017.02.22 20:03 #509465

    와 감사합니다  더 궁금한점 있으면 댓글로 문의할게요!

  • 2017.03.12 14:59 #528383
    이걸 사용시 가끔 댓글등록이나 글쓰기 등록할때 무반응이 한번뜨고 한번더 누르면 이미 작성된게시글이라고 나오내요..
    혹시 해결법은 없을까요?
  • 2017.04.04 13:18 #553639
    정말 감사합니다! 사용해보니 스티커를 등록한 회원도 본인의 스티커를 구매해야하던데 자신의 스티커는 그냥 사용하게 할 수 있을까요? 좋은 자료 공유해주셔서 정말 감사드립니다.
  • 2017.09.20 10:15 #740500

    나중에 해당 기능 추가 고려해보겠습니다.

  • 2017.09.20 08:04 #740331
    저 혹시 댓글 새로고침 후
    오토링크 애드온이 작동되게하려면 어떻게 해야하나요?
  • 2017.09.20 10:11 #740494

    /sketchbook5/js/board.js
    약 842행 쯤
    complete:function(){
    아래에 다음 내용을 추가해주세요.

     


    (function setAutoLink(){
    if(typeof(xe) != "undefined"){
    var autolink = xe.getPlugin('autolink');
    if(!autolink.length){
    return false;
    }
    autolink[0]._binded_fn.ONREADY();
    } else {
    return false;
    }

    return true;
    })();

  • 2017.09.20 10:27 #740511
    철지난 글에도 답변을 해주시다니, 반쯤 포기하고 달은건데..
    끝까지 사후지원 감사합니다!
  • 2017.11.30 03:52 #810255

    후하니님 질문있습니다!스케치북5 원래스킨에 기능을 다 구현해놔서 후하니님 스티커 쓰고싶어서 스케치북5 기본스킨(후하니님 스케치북스킨아님) 스티커만 따로 덮어씌우기하고싶은데 어떤것들을 덮어씌워야할까요ㅠㅠ?

  • 2021.01.25 03:29 #1515296
    안녕하세요 후하니님 혹시라도 XE 타운 방문을 하신다면
    최근 라이믹스 2.0.5 버전에서 짧은주소 변경으로 댓글 수정 시
    댓글 수정 페이지로 이동하는 문제가 생겼는데 혹시 해결 방법을 얻을 수 있을까요?
    현재 수정하기 링크가 /mid/comment/document_srl/edit 이런 형식으로 변경되었습니다.
  • 2021.01.27 03:25 #1516654
    https://dev43.dnip.co.kr/board/130
    라이믹스 2.0.5에서 확인을 해보니 정상적으로 작동하는 것 같아요
    정확한 문제는 사이트를 직접 봐야지 확인이 가능 할 것 같습니다.
  • 2021.01.27 03:47 #1516670
    엇!! 안녕하세요!
    시스템 설정 > 고급 설정 > 짧은 주소 사용에 XE와 호환되는 주소 형태만 사용 체크 시 정상 작동 하는데
    모든 주소 형태를 사용 체크 시 위에 말씀 드린 /mid/comment/document_srl/edit 이런 형식으로 주소가 변경 되어 나와서 처리를 못하는 거 같아요..
  • 2021.01.27 11:24 #1517136

    일단 급하게 수정해봤습니다.

    첨부한 zip파일을 스케치북 스킨 파일에 덮어씌우시면 아마 될거에요.

  • 2021.01.27 12:48 #1517192
    우와 바쁘실텐데 감사합니다 ㅠ
    얼른 확인 해보겠습니다!
  • 2021.01.27 12:54 #1517203
    수정하기 버튼 클릭시 잘못된 요청입니다. 라고 나오네요.
    https://www.yoonbo.me/test/214
  • 2021.01.27 14:06 #1517251

    https://github.com/huhani/xe-comment-without-refresh

    여기에 있는 애드온도 설치후 작동되어야 해요

  • 2021.01.28 00:13 #1517402

    기존 라이믹스 버전에서는 해당 애드온이 없어도 잘 작동 하였는데
    이제는 필요해졌군요 신기하네요! 후하니님 패치 덕분에
    짧은 주소를 완벽하게 사용 할 수 있게 되었습니다! 감사합니다 ㅠㅠ

  • 2021.03.11 22:05 #1540454

    안녕하세요 후하니님 다름이 아니라 라이믹스 1.9에서 스티커 모듈을 사용하고자 설치와 셋팅을 마친 상태 입니다.

    스티커 표시까지 잘되는데 스티커를 눌러도 전혀 반응이 오질 않습니다. 어떻게 해야되나요?

    첨부.PNG

    클릭을 하여도 무반응이지만 신기한것은 스케치북 게시판의 블로그 스타일에서는 작동을 하는거같습니다..

    일반 목록형 타입에서는 클릭을 해도 무반응입니다.