묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
프레임 관련 질문.
2003.05.18 01:37
말로 표현하기는 복잡한 문제이니 예제로 표현하도록 하지요. (아래에 질문을 올렸었는데 질문을 이해 못 하신 것 같아요.)
일단 main1.htm이라는 파일이 있고 이 파일은 1.htm 2.htm 3.htm 4.htm을 포함하고 있는 프레임 파일이라고 합시다. 여기서 1.htm, 2.htm, 3.htm은 레이아웃과 메뉴를 위해 만든 파일이라고 치고 4에 본 내용이 포함되어 있다고 하죠. 그리고 메뉴를 누름에 따라 5.htm 6.htm 따위가 나온다고 합시다. (물론 main1.htm을 불러오면 1.htm, 2.htm, 3.htm, 4.htm이 나옵니다.)
그리고 이 파일과는 전혀 상관 없는 또다른 html 파일인 xxx.htm이 있다고 하죠. 여기서 main1.htm을 연결하는 링크가 있습니다. 일반적으로 <a href="어쩌고/main1.htm">링크</a>를 이용해서 main1.htm을 불러오지 않습니까? 그러면 1.htm 2.htm 3.htm 4.htm이 같이 나올거고요.
그런데 만약 xxx.htm내의 링크를 통해 main1.htm을 불렀을 때 4.htm 대신 5.htm이나 6.htm을 불러오려면 어떻게 해야합니까? 그러니까 1.htm, 2.htm, 3.htm, 4.htm이 불러질 것을 1.htm 2.htm 3.htm 5.htm 이렇게 불러오려면... 어떻게 해야하죠?
너무나 당연한 것이겠지만, ` 프레임 파일을 새로 만드세요 ` 등의 답변은 사절입니다. --; 그러려면 프레임 파일만 수백개를 만들어야 해서 말이죠...
일단 main1.htm이라는 파일이 있고 이 파일은 1.htm 2.htm 3.htm 4.htm을 포함하고 있는 프레임 파일이라고 합시다. 여기서 1.htm, 2.htm, 3.htm은 레이아웃과 메뉴를 위해 만든 파일이라고 치고 4에 본 내용이 포함되어 있다고 하죠. 그리고 메뉴를 누름에 따라 5.htm 6.htm 따위가 나온다고 합시다. (물론 main1.htm을 불러오면 1.htm, 2.htm, 3.htm, 4.htm이 나옵니다.)
그리고 이 파일과는 전혀 상관 없는 또다른 html 파일인 xxx.htm이 있다고 하죠. 여기서 main1.htm을 연결하는 링크가 있습니다. 일반적으로 <a href="어쩌고/main1.htm">링크</a>를 이용해서 main1.htm을 불러오지 않습니까? 그러면 1.htm 2.htm 3.htm 4.htm이 같이 나올거고요.
그런데 만약 xxx.htm내의 링크를 통해 main1.htm을 불렀을 때 4.htm 대신 5.htm이나 6.htm을 불러오려면 어떻게 해야합니까? 그러니까 1.htm, 2.htm, 3.htm, 4.htm이 불러질 것을 1.htm 2.htm 3.htm 5.htm 이렇게 불러오려면... 어떻게 해야하죠?
너무나 당연한 것이겠지만, ` 프레임 파일을 새로 만드세요 ` 등의 답변은 사절입니다. --; 그러려면 프레임 파일만 수백개를 만들어야 해서 말이죠...
약간의 편법을 사용하시는 것도 괜찮을 듯 싶네요. 더 좋은건 구조를 싹 바꾸는 거겠지만...
아래건 제가 서버스크립트를 모르던 시절... 자바스크립트 만으로 노프레임을
실현해 보고자 삽질했던 소스중 일부분입니다. 다음 소스를 wrapper.html 이라고
저장하신 뒤에...
<html>
<head>
<title>Frame Wrapper</title>
<script defer language="javascript">
<!--
CONTENT.location.replace(location.search.toString().substring(1) + ".html");
-->
</script>
</head>
<frameset rows="25%, 25%, 25%, 25%">
<frame id="FRAME1" src="about:blank;">
<frame id="FRAME2" src="about:blank;">
<frame id="FRAME3" src="about:blank;">
<frame id="CONTENT" src="about:blank;">
</frameset>
</html>
프레임셋은 박민철님의 소스(main1.htm)에 맞게 수정하시고...
링크를 거실땐 <a href="wrapper.html?5">링크</a> 이런 식으로 CONTENT
프레임에 들어갈 html파일을 지정해 링크를 걸어 주시면 되겠습니다.
위와 같이 ?5 이런 식으로 하면 5.html이 CONTENT 프레임에 들어가게 되는 것이죠.
일일이 프레임셋을 만드는 것보다는 쪼오금 편한 꽁수였습니다.