묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
정확한 답변이 없어서리...(팝업창/reload/remote창)
2003.04.26 12:24
팝업창에 대해선 지난번 올렸지만...
고맙게도 답변해 주신 분이 다른 소리를 하셔서리...
1. 메인창에서 팝업창을 열때 이름(예..win1)을 주어서 열면
메인창 앞으로 팝업창(win1)이 뜨니까 누구나 쉽게 볼 수 있죠...
근데, 다시 메인창에 가서(이때, 팝업창-win1은 메인창 뒤로 가겠죠!!)
팝업창-win1에 다른 화면을 뜨도록 한 Link를 누르면...........
뒤에 있던 팝업창이 다시 앞으로 나오지 않고, 그냥 뒤에 있으면서
화면만 다른것으로 뜨게 되쟈나여....
제가 궁금한 것은 메인창에서 이미 뒤에 떠 있는 팝업창에 다른 화면을
뿌려주는 링크를 눌렸을 때 앞으로 나오게 하는 방법이 없나 해서요...
꼬~옥 답변 쫌 부탁드립니다....
2. 웹브라우져에서 페이지가 바뀔때, 웹브라우져 크기를 바꾸는 방법
좀 가르쳐 주세요....
예를 들어 조그만 팝업창으로 띄웠다가 그안에서 <more...> 버튼을 누르면...
그 팝업창이 more에 걸맞게 커지고 그 웹브라우져에 페이지를
보여줄 수 있었으면 해서요.....
3. 예전에 제가 한참 컴 만지고 놀때, remote 브라우져를 띄워서 메뉴창으로
쓴 적이 있었던것 같은데..... 그런게 있는거는 맞죠??
어떤식으로 구성하는지 간략하게만 알려주심 안되나요???
30 중반이 넘어가니까... 자꾸 잊어먹는것만 많아서리.....
부탁드립니다.....
고맙게도 답변해 주신 분이 다른 소리를 하셔서리...
1. 메인창에서 팝업창을 열때 이름(예..win1)을 주어서 열면
메인창 앞으로 팝업창(win1)이 뜨니까 누구나 쉽게 볼 수 있죠...
근데, 다시 메인창에 가서(이때, 팝업창-win1은 메인창 뒤로 가겠죠!!)
팝업창-win1에 다른 화면을 뜨도록 한 Link를 누르면...........
뒤에 있던 팝업창이 다시 앞으로 나오지 않고, 그냥 뒤에 있으면서
화면만 다른것으로 뜨게 되쟈나여....
제가 궁금한 것은 메인창에서 이미 뒤에 떠 있는 팝업창에 다른 화면을
뿌려주는 링크를 눌렸을 때 앞으로 나오게 하는 방법이 없나 해서요...
꼬~옥 답변 쫌 부탁드립니다....
2. 웹브라우져에서 페이지가 바뀔때, 웹브라우져 크기를 바꾸는 방법
좀 가르쳐 주세요....
예를 들어 조그만 팝업창으로 띄웠다가 그안에서 <more...> 버튼을 누르면...
그 팝업창이 more에 걸맞게 커지고 그 웹브라우져에 페이지를
보여줄 수 있었으면 해서요.....
3. 예전에 제가 한참 컴 만지고 놀때, remote 브라우져를 띄워서 메뉴창으로
쓴 적이 있었던것 같은데..... 그런게 있는거는 맞죠??
어떤식으로 구성하는지 간략하게만 알려주심 안되나요???
30 중반이 넘어가니까... 자꾸 잊어먹는것만 많아서리.....
부탁드립니다.....
댓글 2
-
구름
2003.04.26 12:46
-
최원신
2003.04.27 20:59
기~~~~~인 코멘트 넘넘 감사합니다....
우선 말씀하신대로 해보고요.....
혹 잘 안되는 부분이 있으면 다시 물어봐도 되겠죠??
암튼 넘 감사합니다...............
1. 우선 브라우저를 마음데로 포커싱하거나 컨트롤 하기 위해서는 해당 팝업을띄울때 그 팝업에대한 핸들을 부모 페이지가 수요하고 있어야 컨트롤이 가능하겠죠.
간단하게 보면
<Script>
var winHandle; //팝업 윈도우에 대한 핸들을 저장할 변수
function openWin1(url){ //팝업을 열 함수
winHandle = window.open(url,"창이름","스타일"); //팝업을 띄우면서 핸들을 winhandle에게 넘겨준다.
winHnadle.focus(); //팝업에 포커싱을 맞춘다 (해당 창이 앞으로 나온다.)
}
</script>
이런식으로 해주면 팝업을 연이후에 해당창에 대한 핸들링을 소유하여 focus() 메소드 호출로 팝업창이 앞으로 튀어나오는 효과를 볼수 있답니다. ^^;
2. 웹브라우저에서 페이지 로딩시 또는 어떠한 이벤트에 의해서 해당 윈도우의 크기를 바꿔주는 건
window.resizeTo(width,height);
라는 윈도우 객체에 잇는 resizeTo라는 함수에 의해 가로 세로 크기를 전달하여 바꿀 수 있습니다.
3. 리모트 컨트롤을 위한 방법에는 여러가지가 있겠지만 우선은 상호간에 통신을 할 수 있는 길이 필요하겠죠
1번에서 보셨듯이 상위 또는 하위 객체에 접근하기 위해서는 상호간에 객체를 가리키는 무언가가 필요하죠
가령 a 라는 창이 b라는 창을 띄었을 경우에 a는 b를 띄울때 얻은 윈도우 핸들을 이용해 해당 윈도우에 접근할 수 있구요
b라는 창은 opener라는 객체를 이용해서 자신을 열어준 창에 접근 할 수 있습니다.
단 이 방법은 같은 도메인 일때만 가능하다는 점 잊지 마시구요.
간단한 예를 보자면
a 소스
<script>
var winH;
function openWin(){
winH = window.open("b.html","이름","스타일");
winH.focus();
}
</script>
이 이후 부터는 b라는 창에 접근하기 위해선
winH.document.함수 또는 변수 등을 이용해 접근할 수 잇는거죠
b 소스
<script>
opener.document.location = "url";
</script>
이런식으로 opener의 document의 위치를 조정해 줌으로써 다른 페이지를 자신을 띄어준 윈도우에 호출 할 수 있습니다.
답변이 되었나요? 30 중반이 넘어서도 배움에 대한 열정이 있으시다는게 부럽고 저 스스로도 더욱 노력해야 겠다는 생각을 가지게 하네요 궁금하신점 있으시면 코멘트 달아주세요 ^^;