친구추가 후 부모창 새로고침 하려고 하는데요.
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.2 |
커뮤니케이션 스킨은 기본스킨을 사용합니다.
js 파일의 함수를 보니
/* 친구 추가 후 */
function completeAddFriend(ret_obj) {
alert(ret_obj['message']);
var member_srl = ret_obj['member_srl'];
if(opener && opener.loaded_member_menu_list) {
opener.loaded_member_menu_list[ret_obj['member_srl']] = '';
}
window.close();
}
이런부분이 있어서 여기에 팝업으로 뜬 창 닫기 전에 부모창 새로고침 코드를 추가해 보려고 해도 잘 되지 않습니다.
이상한 점은 window.close(); 를 주석처리 해도 팝업창이 닫히는데 위 코드가 아닌 다른 곳에서 또 제어가 되는건지 부모창을 새로고침 하려면 어디서 코드를 추가해야 하는 건가요?
그리고 한가지 더 이상한점을 보면 저 함수에 포함된 기능이 친구등록 후에 부모창의 해당회원 클릭 후 나오는 회원메뉴의 친구등록 메뉴를 지워주는 기능 같은데 여전히 친구등록 메뉴도 유지되고 있네요.
혹시
https://github.com/rhymix/rhymix/blob/master/modules/communication/communication.controller.php#L547
이부분과 관련이 있는건지요...?
댓글 3
만약 링크하신 547줄 아래의 코드가 작동한다면 스킨의 completeAddFriend 함수는 실행되지도 않을 것 같습니다. 알림창 띄우고 팝업 닫고 북 치고 장구 치고 혼자서 다 하네요.
completeAddFriend 함수 맨 꼭대기에 눈에 띌 만한 결과를 일으키는 코드를 아무거나 넣어 보세요. 예를 들면 alert이라든지... 만약 아무 효과가 없다면 아예 그 함수를 실행하지 않고 있는 것입니다. 예전에 다른 방식으로 폼을 제출했다가 변경한 흔적일 수도 있습니다.
아.. 그건해봤어요. 함수 처음에 alert을 넣었더니 그건 또 작동합니다.근데 window.close(); 를 주석해도 그냥 창이 닫히니 또다른 곳에서 뭔가 관여를 하는거 같아서요.그리고 completeAddFriend 함수애 보시면 분명 친구등록한 직후 친구등록 메뉴를 가려주기 위한 부분이 있는데 작동하지 않아요. 친구등록을 해보시면 이건 바로 확인됩니다.
어제 completeAddFriend 함수 꼭대기에 alert 을 넣었을때 창이 뜬게 php 파일의 어디를 건드렸었는지 가물가물 하네요. 오늘 다시 재연해보려다 실패했습니다.(기억을 되살려보니 함수테스트가 아니고 해당 파일 테스트를 한다고 js 파일의 맨 첫부분에 넣었던 것으로 기억이 나네요.)
대신 php 파일의 다른 함수 부분
https://github.com/rhymix/rhymix/blob/master/modules/communication/communication.controller.php#L743
이부분을 참조해서
reload(true);
를 추가해주니 팝업이 닫히면서 부모창이 새로고침이 이루어져습니다. 어찌 되었던 지금 새로고침을 원하는 상황에서는 원하는 결과이긴 하나 이게 맞는지 모르겠구요.
https://github.com/rhymix/rhymix/blob/master/modules/communication/communication.controller.php#L551-L552
이구간에 추가했습니다.
js completeAddFriend 에서는 어떠한 결과도 받지 못하거나 조작을 할 수 없는 상황입니다.