본문 바로가기

IT 이야기/프로그래밍

iframe 오픈시 cache 처리 방안

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

iframe 오픈시 cache 처리 방안

프로젝트를 진행하다 이상한 현상이 발생했다. 

U-PLUS 결재 창을 열었다가 다시 받고 결재 없음으로 처리 하려 하는데 화면이 넘어가지 않는 현상 헉 이거 뭐지..

이곳 저곳 찾아 보다 iframe에서 cache가 남아 있어 iframe 안에서 redirect 가 먹으니 부모창에서는 아무 변화가 없는거 처럼 보이는 현상이란다. 

음 그럼 iframe 열때 cache가 없도록 처리 하면 되겠지.

첫번째 jsp 파일에서 header를 설정 

<%

response.setHeader("cache-control","no-cache");

response.setHeader("expires","0");

response.setHeader("pragma","no-cache");

%>

헉 실패다 동일한 상태


두번째 방법은 html <head>태그안에 no-cache관련 소스를 삽입 하는 방법

<meta http-equiv="Cache-Control" content="no-cache"/>

<meta http-equiv="Expires" content="-1"/>

<meta http-equiv="Pragma" content="no-cache"/>


세번째 iframe을 처음부터 사용 하지 안고 DIV로 설정해 놓고 액션이 발생한때 div안에 iframe을 넣는 방법

 <div id = "op_frame"></div>

<script>

function test_iframe(){

$('div.op_frame').html('<iframe name="cartFrame" width="0" height="0" frameborder="0"></iframe>');

}

</script>

헉 이것도 실패 아예 새창으로 뜬다. 

이걸 어쩌지어쩌지 ㅜㅜ

음 가만히 생각해보니 부모창에서 새로운 자식창을 열었다가 닫으면서 부모창에서 발생해야 하는 엑션이 자식창에서 발생 하는 현상이잖아 그럼 form을 submit 할때 target을 주면 어떻게 될까?

<script>

function test_iframe(){

form.target="_top"

form.submit();

}

</script>

우와 드디어 해결 ~~~

form.target을 _parent로 해봤는데 이것도 새창으로 뜨는 현상이 있었다. 

_parent로 해결되는 페이지도 존재 할 지 모르지만 난 _top으로 해결 

모두 즐거운 프로그램 하세요 


'IT 이야기 > 프로그래밍' 카테고리의 다른 글

자바 Math.round()  (0) 2017.04.18
TARGET 정리  (0) 2017.04.10
Git 명령어 정리  (0) 2017.04.06
[eclipse] 디버깅 (디버깅 단축키)  (0) 2017.04.05
find 라는 명령  (0) 2017.04.04