웹마스터 팁

보통 인트라넷사이트 만드시는 분들이 가장 괴로워하시는(물론 제예깁니...)부분이 새창관련부분이 아닐까 생각합니다... 엄한 클라이언트들이 이런류의 요구를 하곤 하지요..

"새창이 뜰때마다 위로 튀어올라오게 만들어주십시요"

window.open 을 통해 새창의 이름을 지정해주거나
변수이름 = window.open 으로 새창 객체를 생성한경우엔.. 이미 새창이 떠있는 경우 그 창에 문서가 떠버리지요.. 경험해보신분이 제법 되실겁니다..

<script language="javascript">
var win01;
function open_window() {
if(win01 == null) {
win01 = window.open("window_test.html","win01","width=300,height=200");
}
window.win01.focus();
</script>

이렇게 만든 새창에 로딩되는 문서에는 body태그에 다음과 같은 항목이 꼭 들어가야합니다.

<body [이것저것 속성] onUnload="window.opener.win01=null">

설명하자면 이런식이지요.. 문서전체에 해당되는 전역변수로 win01이라는 윈도우객체를 선언하고 이 객체가 사용중인지(새창이 띄워져 있는지) 판단해서 새창이 띄워져있으면 띄워져있는 창을 화면 맨 앞으로 띄우는 거고, 없으면 새창을 띄우는거죠.

이것은 약간변경하면 하나의 새창에 같은 크기의 여러문서를 부르면서도 하나의 함수에서 처리가능합니다.. 그리고, win01이라고 선언된 객체에 문서가 로딩괴면서 새창이 항상 앞으로 뜨게 됩니다. 크기가 다른 창이라면.. 그 창에 뜨는 문서에 window.resizeTo 함수를 써서 바꿔버리면 그만이구요..

인트라넷사이트의 특성상... 나이드신분들이 쓰신다는 게죠...(특히 기업의 중역급 이상은 거의 50세이상.. 쿨럭) 그러다보니까.. 새창이 떠있다가도 다른창을 잘못 클릭하고서 방금 띄운 새창을 못찾는 경우가 의외로 많다는..

요즘 인트라넷환경에서 돌아가는 웹사이트제작이 제법 많은걸로 알고있습니다.. 저도 지금 그일을 하고 있구요... (웹환경에서 CS.. 즉, 일반프로그램과 똑같은 모양을 만드는 중입니다... 쿨럭) 꼭 필요한 스크립트는 아니지만, 써먹을곳은 아마도 있을겁니다.. ^^;

인트라넷 사이트 개발자분들께서는 참고하실필요가 있을지도... 아.마.도.. (먼산..)