특정 IE11에서 window.popup()에 이름을 줘서 팝업을 띄워도 계속 새창으로 뜨게 되는 이슈가 있다.
IE11 버그인 것 같음
정상적인 케이스는 팝업에 같은 이름을 줄 경우 계속 띄워진 팝업에서만 화면전환이 일어나야 한다.
하지만 윈도우OS 버전 or 윈도우 업데이트 버전에 따라 해당이슈가 발생하는 것 같으며 정확한 재현 케이스는 아직 잘 모르겠다.
이 문제를 해결하기 위해서는 다음과 같이 윈도우 객체를 변수로 관리하면 팝업을 유지할 수 있다.
<script type="text/javascript"> var myWindow = null; function newPopup() { if (!myWindow || (myWindow && myWindow.closed)) { myWindow = window.open("http://localhost:8080", "_popup", "width=300px,height=300px,scrollbars=no"); } } </script>
만약 같은 팝업을 각각 다른 페이지에서 띄울경우엔 myWindow 변수가 같이 유지되지 못하기 때문에 새창으로 뜨게 되는 단점은 존재하긴 한다.
'프론트기술 > HTML' 카테고리의 다른 글
text/javascript와 application/javascript의 차이점 (0) | 2015.09.08 |
---|---|
이벤트 캡쳐링(event capturing) (0) | 2015.01.22 |
이벤트 버블링(event bubbling) (0) | 2015.01.21 |