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

글쓰기 모달 iframe 부모창 새로고침 채택완료

그러하다 2년 전 조회 2,428

글쓰기하면 모달창을 iframe 으로 띄우고 글쓰면

리스트 화면(부모창)을 새로고침 되려고하는데

write_update.skin.php에

아래 처럼 리로드 해도 새로고침이 안되네요 alert 도 안뜨고요

 

 

</strong></p>

<p><?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

?></p>

<p><script>

    alert('test');

    parent.document.location.reload();

</script></p>

<p><strong>
 

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

답변 2개

채택된 답변
+20 포인트

parent.location.reload(); 로 해보세요.

 

그런데 이럴 경우 주의사항이 있습니다.

본인창이 아이프레임으로 불리워지면 부모창이 있을 경우 부모창이 parent 가 되지만

부모창이 없다면 본인 자신이 동시에 parent 가 되어서 본인 자신을 새로고침하게 됩니다.

거의 광분 새로고침이 된다는 얘기죠.

그래서 이프문을 하나 넣어주어야 하죠. 본인과 parent 의 location.href 가 다르다면 아리는 조건입니다.

여기서 location 을 비교하지 않고 location.href 를 비교하는 것은

전자는 object 이고 후자는 string 이기 때문에 그렇습니다.

예컨대 html5 부터는 엘리먼트 네이밍이 가능해서 이라는 꺾쇠를 생성하면

바로 과 똑같은 기능을 가지면서 동시에 type 를 찍어보면 object 를 토해내므로 경로 로케이션과 꺾쇠 로케이션의 비교를 피하기 위해서 location.href 문자열을 비교하는 것이죠.

하지만 파폭에서는 location.href 도 object 로 인식합니다.

따라서 안전을 기하기 위하여. 문자열로 치환해야 해요.

 

</p>

<p><script></p>

<p>if (String(location.href) != String(parent.location.href)) {</p>

<p>    alert('test');

    parent.location.reload();</p>

<p>}</p>

<p></script></p>

<p>

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

답변에 대한 댓글 1개

그러하다
2년 전
얼럿도 안찍히는 것보니 리로드 소스의 문제가 아닌것 같아요 ㅜㅜ 모달 플러그인 부터 다시 봐야 할것 같네요

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

이렇게 해보세요... 부모창 새로고침하고 새창은 자동으로 닫게할 것입니다. $(".모달창클래스네임 또는 ID명").remove();

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

답변에 대한 댓글 1개

그러하다
2년 전
반응이 없어요 ㅜㅜ 그냥 모달 아이프레임 내에서 뷰화면으로 가요

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

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

로그인