특정 IE11에서 window.popup()에 이름을 줘서 팝업을 띄워도 계속 새창으로 뜨게 되는 이슈가 있다. 

IE11 버그인 것 같음


https://connect.microsoft.com/IE/feedback/details/797964/ie11-win-8-1-window-open-with-the-same-name-is-opening-new-popup-window#details


정상적인 케이스는 팝업에 같은 이름을 줄 경우 계속 띄워진 팝업에서만 화면전환이 일어나야 한다.

하지만 윈도우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 변수가 같이 유지되지 못하기 때문에 새창으로 뜨게 되는 단점은 존재하긴 한다.



Posted by SungHoon, Park
,