팝업 간 데이터 전달 시 IE는 참조로 전달한다.

발생일: 2011.05.13

문제:
1) 팝업에서 오프너(opener)의 객체로 배열 데이터를 전달해주고,
2) 팝업을 닫은 후에
3) 오프너에서 전달된 배열 데이터에 접근했을 때

IE에서 아래와 같은 오류가 발생한다.

호출자(서버 응용 프로그램이 아닌 서버)가 사용될 수 없어서 사라졌습니다.
모든 연결이 올바르지 않습니다. 호출이 실행되지 않았습니다.

아무래도 팝업이 닫기면서 참조를 잃은 것 같다.
정확한 원인이 뭘까?


해결책:
IE의 경우 오프너와 팝업 간 데이터을 전달할 때, 원시 타입을 제외하고는 '참조'로 전달한다.
(다른 브라우저의 경우 '값'으로 전달한다.)

따라서 팝업이 닫길 경우, 참조 데이터는 사라지게 된다.

이를 우회하기 위해 데이터를 원시 타입으로 변경해 전달하면 된다.


* 같은 내용을 잘 정리해둔 포스트: http://zinever.tistory.com/3



카테고리

분류 전체보기 (711)
About me. (6)
Daylogs (676)
영어공부 (0)
My works - 추억 (29)
비공개 (0)