부모창 새로고침 하려고 합니다. 좀 가르쳐 주십시요...opener.location.reload

부모창 새로고침 하려고 합니다. 좀 가르쳐 주십시요...opener.location.reload

QA

부모창 새로고침 하려고 합니다. 좀 가르쳐 주십시요...opener.location.reload

본문

새창에서

<script type="text/javascript">
function goaction(){
    opener.location.reload();
        
}
</script>

 

이렇게 작성했을때는 너무 빨리 새로고침이 되어서 새창에서 수정한 내용이 부모창에서 반영이 되지 않더라구요 ..그래서 2초 정도 지연후 부모창을 새로고침을 하려고 하는데 아래와 같이 하니 안됩니다.

좀 틀린부분이 뭔지 가르쳐 주십시요...    

 

<!---- 부모창 ----->

(새로 고침을 해야합니다.)

 

 

<!----   새창   ----->

 

 <button type="submit" class="btn btn-<?php echo $btn2;?> btn-sm" onclick="goaction()">완료</button> 

 

<script type="text/javascript">
    function goaction(){
     setTimeout(opener.location.reload(); 2000); // 2초후 실행 
    }
</script>

 

 

이 질문에 댓글 쓰기 :

답변 2

자식창에서 어떤 데이타를 처리했으면 서버측은 모두 갱신된 것이므로 원칙적으로 시간이 짧아도 부모창도 항상 새로운 자료가 나오는 것이 맞아요.

자식창의 자바스크립트도 서버측에서 처리가 끝난후 출력되는 것 이거든요.

 

문제가 되는 것은 새로고침 시간간격의 문제가 아니라 캐시일겁니다.

아래 코드같은 캐시무력화하는 코드를 쓰거나.

<meta http-equiv="Cache-Control" content="No-Cache"> - 캐쉬를 사용하지 않도록 정의합니다. <meta http-equiv="Pragma" content="No-Cache"> - 캐쉬가 되지 않게 하게 정의합니다.. ( 매번 새로고침 효과 )

 

혹은 PHP 에서 캐시 제어하는 헤더를 써보세요.

아래 같은 것을 때려넣어 보세요.  각각의 역활은 한번 공부해보세요.

session_cache_limiter('none');
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-Type: text/html;charset=" . $charset);

답변을 작성하시기 전에 로그인 해주세요.
전체 56
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT