질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS Rhymix 2.x

커뮤니케이션 스킨은 기본스킨을 사용합니다.

 

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

 

이부분과 관련이 있는건지요...?

  • profile

    만약 링크하신 547줄 아래의 코드가 작동한다면 스킨의 completeAddFriend 함수는 실행되지도 않을 것 같습니다. 알림창 띄우고 팝업 닫고 북 치고 장구 치고 혼자서 다 하네요.

     

    completeAddFriend 함수 맨 꼭대기에 눈에 띌 만한 결과를 일으키는 코드를 아무거나 넣어 보세요. 예를 들면 alert이라든지... 만약 아무 효과가 없다면 아예 그 함수를 실행하지 않고 있는 것입니다. 예전에 다른 방식으로 폼을 제출했다가 변경한 흔적일 수도 있습니다.

  • profile profile

    아.. 그건해봤어요. 함수 처음에 alert을 넣었더니 그건 또 작동합니다. 근데 window.close(); 를 주석해도 그냥 창이 닫히니 또다른 곳에서 뭔가 관여를 하는거 같아서요.

     

    그리고 completeAddFriend 함수애 보시면 분명 친구등록한 직후 친구등록 메뉴를 가려주기 위한 부분이 있는데 작동하지 않아요. 친구등록을 해보시면 이건 바로 확인됩니다.

  • profile profile

    어제 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 에서는 어떠한 결과도 받지 못하거나 조작을 할 수 없는 상황입니다.