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 |