조회 : 134
질문하나 드릴께요..
현재 주소창에 url 없애는것을 만들어보다가 문제가 좀 생겼는데 암만해도 해결이 되질않아 질문드립니다.
현재 구조는 index.php 맨위에 아래 부분을 넣고
<?
$LastModified = gmdate("D d M Y H:i:s", filemtime($HTTP_SERVER_VARS[SCRIPT_FILENAME]));
header("Last-Modified: $LastModified GMT");
header("ETag: \"$LastModified\"");
?>
바로 아래쪽부분에 아래와 같이 프레임 셋으로 둘러싸서 프레임셋 안에 실제로 동작하는 페이지의
주소를 걸어 주소창의 주소를 없애고 있습니다.
<frameset rows="*" frameborder="no" border="0" framespacing="0">
<frame name="indexx" src="indexx.php" frameborder="0" marginheight="0" marginwidth="0">
</frameset>
그런데 프레임셋 안에있는 indexx.php의 로그인박스에서 로그인후 indexx.php -> main.php로 넘어간상태에서
main.php에서 F5를 눌렀을경우..
상단에 header로 인해 F5를 눌었을때 새로고침이 되어도 현재페이지가 유지가 되는것이가능한데
문제는 이것이 IE6에서만 되고 IE7에서는 안되더군요..
그래서 PHP스쿨을 뒤지다 보니 스크립트를 이용해서
document.onkeydown = function(){
if(window.event.keyCode == 116){
event.keyCode = 505;
}
if(event.keyCode == 505){
location.reload();
return false;
}
}
이 스크립트를 frameset이 있는 index.php가 아니라 frameset안에 있는 main.php 페이지에 두었더니
일단은 되더군요..
그런데.. 페이지가 완전히 로딩이 끝난후 한번은 동작하는데 F5를 연속으로 두번이상 누를경우나
페이지 로딩이 덜끝났을경우 누르면 다시 index로 넘어가버리네요..
위 스크립트는 완전한 해결방법이 아닌것 같은데 쿠키로도 해보고 이것저것 다해봤는데
해결이 안되서 혼자 끙끙거리다 문득 공대여자님 지금 홈페이지에 그부분이 해결되어있다는게 생각이나서
이렇게 질문드립니다..ㅠㅠ