본문 바로가기

728x90
반응형
728x170

자바의 함수로 window.open()이 있다.

이를 사용하면 팝업창 형식으로 새 창이 소환 되는데, 한 가지를 간과하고 하나의 html에서 여러 window.open()을 사용하면 새 창이 뜨지 않고 하나의 팝업창 속에서 그 여러 창들이 소환 되는 것이다.

 

그 한 가지는 바로,

window.open() 속성 이름 지정이다.

window.open(URL,이름,크기,위치,기타 등 등)으로 그 속성이 이루어져 있는데, 이름을 같은 것으로 지정하게 되면 하나의 팝업창 속에서 번갈아서 소환된다.

만약 다중 팝업 창을 구현 하고 싶다면,

ex)window.open(‘URL’,‘zelaw’), window.open(‘URL’,‘zelaw2’) 이렇게 이름을 달리하면 간단하게 해결 할 수 있다. 이에 대해 다음 tip에 물어보니 브라우저 속성창에 대한 답변이 많던데, 혹 모르는 분들이 있을까 염려 되어 작성 해 본다.


 

여기에서 재미있는 기능을 더 알려주자면,

document.write()와 함께 사용하면 리프레쉬 없이 하나의 창에 여러 팝업 객체들이 연달아 소환된다는 것이다. 지난 번에 iframe을 이용 유튜브 플레이어를 작성 한 적이 있는데, window.open()을 실행하는 버튼을 여러 번 누르니 하나의 팝업 창에 여러 플레이어들이 줄줄히 소환되었다.

대략적으로 코드를 치자면,

 

var win=window.open();

win.document.write();

 

이런 느낌으로 작성하였다. 하나의 팝업창에서 여러 유튜브 플레이어를 소환하기 싫고 여러 창안의 플레이어를 소환하고 싶다면, 위에서 언급 하였듯이 window.open() 속성에 이름만 바꿔주면 된다.

 

그 예시들은 오른쪽 하단의 오로치마루 주위에 있는 버튼들을 눌러보면 알 수 있다.


몇 개는 location을 이용 하여 새 창(팝업창)이 아닌 지역 창에서 소환하도록 만들어 놓았다물론 a 태그를 이용하여 구현 해도 되지만 밑줄 같은 것이 생겨 이질적으로 다가오기에 버튼으로 구성 해 놓았다. 애니메이션, TV, 웹툰/만화의 각 part에 있는 검색 기능을 써봐도 알 수 있다.  

반응형
그리드형
영덕박달대게 택배 영양 태양광 1.9mw 전복소라 영덕 태양광 1.7mw 이시가리(줄가자미) 공장 위 500kW 고둥 영덕박달대게 택배 돌문어 영덕박달대게 택배 영덕박달대게 홑게 회 신재생에너지
#강구박달대게 시세는(054-734-0458)
#태양광 상담은(010-2668-3897)...