댓글 새로고침 없는 스케치북 스킨 with 스티커
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;
}
});
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
유투브 혹은 기타 멀티미디어 크기가 큰 경우 비율에 맞게 가로세로 리사이징 + PC 유투브 전체화면 허용
비회원 댓글삭제시 해당에러는 무슨 에러일까요?
500에러가 발생하네요.
php에러 로그 캡쳐해주신다면 확인해보겠습니다.
댓글 작성시에 한 가지 문제가 있는데, oEmbed를 사용할 경우, 댓글에 유튜브 링크 등이 있을 때, 새 댓글을 작성하거나 하기 전에는 정상적으로 oEmbed가 작동해서 동영상이 보이는데, 새 댓글을 작성하고 나면 그때부터 갑자기 댓글 영역에서 oEmbed가 동작하지 않네요.(동영상을 재생 중이었을 경우 끊어집니다.) 새로고침을 해야 다시 나옵니다. (본문영역은 관계없음)
혹시 해결방법 아시나요?
테스트용 링크입니다.
저게 댓글 새로고침 대신 html부분을 교체해버리는 방식이라
oEmbed뿐만 아니라 자동 링크 애드온도 아마 씹혀버릴겁니다.
댓글 새로고침 후 다시 자바스크립트를 재로딩 시키거나 이중포문 돌려서 갱신된 댓글만 추가시켜야 될거에요
관리자가 맨 마지막 댓글을 수정하려고 하면 댓글 수정 페이지가 로딩되네요.
자기 자신이 쓴 댓글인 경우 아무 문제 없고, 맨 마지막 댓글이 아니라 그 위의 댓글들 또한 문제가 없습니다.
맨 마지막 댓글 + 관리자가 다른 사람의 댓글 수정을 시도할 때만 이런 현상이 나타나네요
(정확하게는, 댓글 수정 누르면 순간적으로 후하니님이 변경하신 댓글 수정창이 뜨는데, 그때 글자들이 <p> 태그로 감싸져 있는 증상이 나타납니다.
이 화면이 뜨고 나서 곧바로 별도의 댓글 수정페이지로 넘어가네요. 물론 다른 댓글이나 자기 자신이 쓴 댓글은 p 태그 같은거 안 나타납니다.)
근데 다 그런 것도 아닙니다. 어느 시점 이후의 게시물부터 그런 증상이 나타나는데, 타임라인 모듈과 관련이 있는 거 같기도 하고..
도무지 뭐때문에 그런지 알 수가 없네요;;
혹시 해결방법 아시는지 궁금합니다.
자꾸 질문드려서 죄송합니다 ㅠㅠ
(사실 저러한 경우가 매우 특이한 경우라, 굳이 해결 안 하고 그냥 써도 큰 문제는 없긴 합니다.)
if(text.indexOf("<p")+text.indexOf("<div") > -2){
location.href = href;
}
HTML태그가 있는 경우 에디터로 넘어가게끔 되어있어서 그런 것 같습니다.
아마 textarea가 아닌 다른 에디터를 사용하여 작성하여 등록하면 문제가 발생할 거에요.
loadsticker(1,$('input[name=parent_srl]').val()) 로 하니 잘 작동합니다.
혹시 다른 방법 있을까요? 저는 대댓글에서만 소유한 스티커가 안 떠서요. 스티커를 클릭해야 등록되잖아요. 그 스티커들이 안 뜹니다.
근데 이렇게 바꾸니 비회원한테는 그래도 뜹니다. 회원은 여전히 안 뜨고요ㅠㅠ
와 감사합니다 더 궁금한점 있으면 댓글로 문의할게요!
혹시 해결법은 없을까요?
나중에 해당 기능 추가 고려해보겠습니다.
오토링크 애드온이 작동되게하려면 어떻게 해야하나요?
/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;
})();
끝까지 사후지원 감사합니다!
후하니님 질문있습니다!스케치북5 원래스킨에 기능을 다 구현해놔서 후하니님 스티커 쓰고싶어서 스케치북5 기본스킨(후하니님 스케치북스킨아님) 스티커만 따로 덮어씌우기하고싶은데 어떤것들을 덮어씌워야할까요ㅠㅠ?
최근 라이믹스 2.0.5 버전에서 짧은주소 변경으로 댓글 수정 시
댓글 수정 페이지로 이동하는 문제가 생겼는데 혹시 해결 방법을 얻을 수 있을까요?
현재 수정하기 링크가 /mid/comment/document_srl/edit 이런 형식으로 변경되었습니다.
라이믹스 2.0.5에서 확인을 해보니 정상적으로 작동하는 것 같아요
정확한 문제는 사이트를 직접 봐야지 확인이 가능 할 것 같습니다.
시스템 설정 > 고급 설정 > 짧은 주소 사용에 XE와 호환되는 주소 형태만 사용 체크 시 정상 작동 하는데
모든 주소 형태를 사용 체크 시 위에 말씀 드린 /mid/comment/document_srl/edit 이런 형식으로 주소가 변경 되어 나와서 처리를 못하는 거 같아요..
일단 급하게 수정해봤습니다.
첨부한 zip파일을 스케치북 스킨 파일에 덮어씌우시면 아마 될거에요.
얼른 확인 해보겠습니다!
https://www.yoonbo.me/test/214
https://github.com/huhani/xe-comment-without-refresh
여기에 있는 애드온도 설치후 작동되어야 해요
기존 라이믹스 버전에서는 해당 애드온이 없어도 잘 작동 하였는데
이제는 필요해졌군요 신기하네요! 후하니님 패치 덕분에
짧은 주소를 완벽하게 사용 할 수 있게 되었습니다! 감사합니다 ㅠㅠ
안녕하세요 후하니님 다름이 아니라 라이믹스 1.9에서 스티커 모듈을 사용하고자 설치와 셋팅을 마친 상태 입니다.
스티커 표시까지 잘되는데 스티커를 눌러도 전혀 반응이 오질 않습니다. 어떻게 해야되나요?
클릭을 하여도 무반응이지만 신기한것은 스케치북 게시판의 블로그 스타일에서는 작동을 하는거같습니다..
일반 목록형 타입에서는 클릭을 해도 무반응입니다.