테스트 사이트 - 개발 중인 베타 버전입니다

iframe reload 가 안먹혀요 ㅠ 채택완료

워터드래곤 9년 전 조회 5,125

현재 한 페이지로 iframe과 최신글 두개를 사용해서 쓰고 있습니다. 한쪽편에는 iframe으로 사용하고 한쪽편에는 최신글을 뽑아서 사용하는 중이죠.. 그래서 iframe 내에서 글쓰기 작성버튼을 클릭 시 전체페이지가 새로고침되면서 최신글 부분에 글 등록이 되어야 하는데 안되네여 ㅜㅜ write_update.skin.php 부분은 일단 잘 넘어가는것을 확인을 하였고 두개를 했을 시 뭔가 전체 페이지가 새로고침이 되는 느낌이 나긴하는데  

최신글 부분에서는 글이 안뜹니다..

그런데 워크벤치에선 데이터가 들어갔다고 나오구요...  

그래서 수동으로 다시 F5번을 눌러도 최신글이 갱신이 안되네요 ㅜ

어떤 문제인걸까요...

참고로 최신글 뽑아오는 글의 갯수설정은 넉넉하게 해서 그것때문에 안나오는 경우는 없습니다.

도움 부탁드립니다 ㅜ 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
그림자밟기

index.php

</p><p><div style="<?php echo $lt_style ?>"> </p><p><?php </p><p>echo latest("theme/basic", 'Document', 100, 50); </p><p>?> </p><p></div> </p><p><div class="section_wrap"> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span><div class="section"> </p><p><span class="Apple-tab-span" style="white-space:pre">		</span><div class="contents"> </p><p><span class="Apple-tab-span" style="white-space:pre">			</span><iframe id="iframe_show" name="iframe_show" marginheight="0" marginwidth="0" width="1300" height="900" scrolling=yes src="<?php echo G5_THEME_IMG_URL ?>/4th.png" frameBorder=0></iframe> </p><p><span class="Apple-tab-span" style="white-space:pre">		</span></div> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span></div> </p><p></div> </p><p>

 

write_update.skin.php

</p><p><?php</p><p>delete_cache_latest($bo_table);</p><p>if ($file_upload_msg)</p><p>    alert($file_upload_msg, G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.'&page='.$page.$qstr);</p><p>else echo '<script>parent.document.location.reload();</script> ';</p><p>?></p><p>

 

혹시나 싶어 그누보드 원본 소스를 디벼보니 최신글 캐쉬처리가 뒤에 되고 있었네요.

이게 최신글 캐쉬를 업데이트하지 않아 생기는 문제였습니다. 

최신글 캐쉬를 사용하지 않거나 위 코드 처럼 하시면 되겠습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

워터드래곤
9년 전
write_update.skin.php 부분에 말씀하신대로 적용하고

write_update.php 부분에 똑같은 캐시처리 부분을 주석다니깐 되네요! 감사합니다 ^_^

그런데 크롬에서는 잘 작동되는데 파이어폭스에서는 갱신이 되긴하는데 무슨 위험팝업창같은게 뜨네여..

일단 정보 주셔서 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

그림자밟기

테스트 url을 주시면 좀 더 자세한 답변을 얻을 수 있을 것 같습니다.

위의 정보만으로는 어떠한 원인인지 파악하기가 힘드네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

워터드래곤
9년 전
로컬로 작업중이라서 ㅜㅜ

기존의 메인페이지를 1,
메인페이지에 가져온 latest를 2,
iframe을 3이라 칭하면

1안에 2,3이 있습니다.

그래서 3에서 글쓰기나 글삭제를 할 시
2를 갱신하기 위해서 1을 reload해야하는데 이 reload하는 곳이 write_update.skin이라는 것은 알고있겠는데... 음... 안되네여 ㅜㅜ 글쓰기를 할때 write_update.skin이 있으면 버튼을 누르고 거기로 넘어간다고 해서 그곳에서 reload를 넣었는데 1이 새로고침이..... ㅜㅜ
그림자밟기
9년 전
1이 새로고침되면 2/3도 새로고침이 되기 때문에 정상적으로 업데이트 된 모습이 나와야 합니다만,
다른 문제가 있는듯도 한데요.
해당 페이지의 소스라도 있어야 알 수 있을 듯 합니다.
워터드래곤
9년 전
현재 메인페이지 1 을 담당하고 있는 index는


<div style="<?php echo $lt_style ?>">
<?php
echo latest("theme/basic", 'Document', 100, 50);

?>
</div>


<div class="section_wrap">
<div class="section">
<div class="contents">

<iframe id="iframe_show" name="iframe_show" marginheight="0" marginwidth="0"
width="1300" height="900" scrolling=yes src='<?php echo G5_THEME_IMG_URL ?>/4th.png' frameBorder=0 ">

</iframe>
</div>
</div>
</div>

이거 구요

write.skin은 target을 걸어놔서 iframe상에서 글쓰기가 가능하도록 하였습니다.

그리고 해당 skin에 write_update.skin.php를 만들어서

<script>
top.location.reload();
</script>


이렇게 하였습니다.

댓글을 작성하려면 로그인이 필요합니다.

플라이
9년 전

혹시 반영된 페이지 (write_update.skin.php) 에서  새로고침 하는건 아닌가요? 페이지가 최신목록에 있는 페이지라면 새로고침해서도 떠야 되는게 정상일텐데요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

워터드래곤
9년 전
그러게요... iframe내에서 write.skin에서 작성을 하고 바로 write_update.skin으로 넘어간다음
스크립트사용해서 저렇게 전체페이지를 새로고침했는데 안되네요..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인