- 출처 : http://zinever.tistory.com/3 -
opener 와 popup 창간에 변수를 참조하는 경우,
두 창 모두 열려 있는 상태라면 특정 변수를 참조 하는데 별다른 문제가 없는데,
popup창을 닫는 동작과 함께 popup창에서 특정 변수, 객체를 opener로 전달 할때에는
브라우져 마다 각각 다르게 동작한다.
<브라우저별 전달방식>
기본 변수 (integer, string등) |
참조 변수 (Object) |
Function | |
Internet Explorer | 값 전달 | 참조 전달 | 참조 전달 |
FireFox | 값 전달 | 값 전달 | 참조 전달 |
Chrome | 값 전달 | 값 전달 | 참조 전달 |
Safari | 값 전달 | 값 전달 | 참조 전달 |
Opera | 값 전달 | 값 전달 | 값 전달 |
popup 의 전역 window 컨텍스트가 유효한 상태라면 값 전달이든, 참조 전달이든 opener 와 popup간에 모든 함수와 변수들에 접근 할수 있지만 popup이 close 되고 난 후에는 opener에 어떤 방식으로 변수나, 객체가 전달 되었는지에 따라서 popup에서 전달된 값의 사용 유무가 결정 된다.
위와 같은 이유로, 팝업창이 떠 있을 때 잘 작동하던 스크립트가, 팝업창 종료 후 작동하지 않을 수가 있다.