반응형


frame을 나누어 메뉴페이지와 내용 페이지들을 분리하여 구성하고 있는데, 외부에서 직접 내용 페이지 URL로 접근할때 메뉴 페이지나 상단 타이틀 페이지 등 다른 페이지들이 출력되지 않는 문제가 있다.

frame 내부 페이지 직접 접근시 최상위 페이지로 이동하게 만드는 기능.


서브페이지 코드에 이동할 최상위 페이지를 지정해 둔다. 메뉴 선택을 바로 들어갈 수 있도록 파라미터로 이동 메뉴를 준다.

<script>

// 프레임 페이지 직접 접근 차단. 메인 페이지로 이동

self.onload = function init() {

if ( self==top ) {

self.location = "/?menu=hash" ;

}

}

</script>


최상위 페이지 코드 (index 페이지)
위에서 GET 파라미터로 준 메뉴를 디폴트 페이지로 내용을 설정하는 작업. 
예시)
<frameset cols="200px,*" border="0">
<frame name="menu" src="./menu.php">
<?php
$t = $_GET['menu'] ;
if ( $t && $t!="") {
if ( $t=='link' )
$t='link.php' ;
else if ( $t=='encode')
$t = 'encode.php';
else if ( $t=='hash')
$t = 'hash.php';
else if ( $t=='encrypt')
$t = 'encrypt.php';
else
$t='encode.php' ;
} else
$t='encode.php';
?>
<frame name="right" src=<?php echo "\"$t\"";?> >
</frameset>



+ Recent posts