개발 Q&A

제목 특정페이지에서 수정 후 창을 리로드 했을 경우 Permission denied to access property "reload" 에러 가 발생하는 문제
카테고리 JavaScript
글쓴이 정수리 작성시각 2016/12/12 15:08:09
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 11946   RSS

몇일 째 검색을하고 다른 포럼사이트에서도 글을 올려도 해결을 하지 못해 

 

글을 올리게 되었습니다.

 

수정버튼을 클릭하면 수정 페이지가 팝업창으로 열립니다.

 

데이터를 수정하고 수정이라는 버튼을 클릭하면 

 

수정되었습니다 라는 alert창과 함께 부모창이 새로고침이 되고 팝업창이 닫히는게 정상적인

 

순서인데

 

수정되었습니다. 라는 alert창만 뜨고 부모창이 새로고침이 되지않고 팝업창이 닫히지가 않습니다.

 

브라우저 개발자도구로 살펴보니 

 

Permission denied to access property "reload"

 

이러한 에러가 발생하더 라구요

 

그래서 검색도 해보고

 

따로 팝업창으로 닫고 부모창을 리로드 시키는 부분만 함수로 만들어 호출도 해보았지만

 

해결이 되지 않더라구요 다른 포럼사이트에서 답변으로 

 

  • 상단의 페이지 도메인이 JS를 호출하는 페지이의 도메인과 다른것 같군요.그러면 보안상 JS로 제어가 불가능합니다.

 

이러한 답변이 올라왔는데 무슨말인지 이해를 못하겠습니다;

 

그리고 window.opener.document.location.reload();

이걸로 변경하여 시도 해보았는데도 안되네요 ㅜㅜ

 

웹사이트의 전체적인 페이지가 위와 같은 방식으로 이루어 지는데 

 

유독 한부분만 이 에러 발생합니다.

 

포럼선배님들 중에 저와같은 현상이 있으셨던 분들도 계실까요 ㅜㅜ

 

조언좀 부탁드립니다.

 

	function dm_modify(){//전화접수대장 수정
		
		$data = array();
			foreach($this->input->post(null, true) as $key => $val) $data["{$key}"]= $val;
		
		if(!empty($data['Twrite1'])){
							
				$data['Twrite'] = $data['Twrite1'];
			}

			if(!empty($data['Ttype2'])){
							
				$data['Ttype'] = $data['Ttype2'];
			}

		
				
				$result = $this->Gigwan_m->dm_modify($data);

				if($result){
/*
					$this->session->set_flashdata('message', '수정되었습니다.');

					redirect('/gigwan_c/dm_modifypop/'.$data['Tno'].'/'.$data['gg_pk']);
					*/
					
					$this->reload_test();
				
			}

	}

function reload_test(){

	echo "
			<meta http-equiv='Content-type' content='text/html; charset=utf-8'>
			<script>alert('수정되었습니다');
			window.opener.parent.location.reload();
			window.close();
			</script>";
		}

 

 다음글 form 전송 전 ajax로 check하여 필드에 값을... (4)
 이전글 뭔가 제가 엄청난 바보짓을 한거같은데 .. 급합니다 ㅠ (5)

댓글

정수리 / 2016/12/12 16:12:31 / 추천 0

자체 해결하였습니다.

부모창하고 팝업창하고 도메인이 달라서 발생한 문제였네요 ㅎㅎ

똑같이 해주니 아주 잘 됩니다.