[자바스크립트] 프레임사이트에서 refresh 했을 때 메인으로 돌아가는 문제
컨텐츠 정보
- 23,902 조회
- 5 추천
- 목록
본문
이미 PHP 스크립트 팁이 올라와 있지만 몇가지 차이점이 있습니다.
첫째 단순히 헤더를 이용한 정적 파일이 아닌 항상 동적파일이므로 time() 이용이 가능
둘째 session설정에 관계없이 사용 가능합니다.
PHP팁 참조 [ http://phpschool.com/bbs2/inc_view.html?id=4516&code=tnt2&start=0&mode=search&field=body&search_name=&operator=and&period=all&category_id=&s_que=LastModified
]
오랜 시간이 걸렸지만 다양한 환경에서 테스트 해보지 못한 아쉬움이 남는군요.
혹시라도 버그가 발생되면 메일을 주시거나 글을 남겨주십시요.
시간 날때 들러서 보충하겠습니다.
[설명글]-----------------------------------------------------
이 팁은 쿠키 함수를 이용합니다.
이동할 프레임의 onunload시 페이지 주소를 쿠키에 저장하여
프레임셋 로딩시 머물렀던 프레임의 src 주소를 쿠키에 저장된 주소로 변경합니다.
보통 쿠키함수는 하루 단위이므로 초 단위로 동작하는 쿠키함수를 만듭니다.
[cookie.js]--------------------------------------------------------
function setCookie_m(name, value, live)
{
var date = new Date();
date.setSeconds(date.getSeconds()+ (live!=undefined?live:1000)); // 단위 1초
document.cookie = name + "=" + escape(value) + "; expires=" + date.toGMTString();
}
-------------------------------------------------------------------
setPage()를 onunload 에 등록하시고
getPage()는 페이지가 유지되기를 원하는 페이지에 호출합니다.
두 함수는 sName이란 문자열 인자를 전달받는데 내부적으로 쿠키의 이름이 됩니다.
따라서 setPage('name'),getPage('name')은 동일해야 올바른 주소값을 얻을 수 있겠죠.
*cookie.js에는 위에서 만든 setCookie_m(..)외에도 여러분이 사용하는
getCookie()를 복사하세요.
[frameset.html]--------------------------------------------------------
<html><head><title>프레임셋</title></head>
<script src="cookie.js"></script>
<script>
function setPage(sName,sURL)
{
setCookie_m(sName,sURL,5); // 5초간 쿠키 생존
}
function getPage(sName,sBasicURL)
{
var page = getCookie(sName);
return (page)?page: sBasicURL;
}
</script>
<script>
// 보안 문제로 외부사이트 접근 제한
document.write('<frameset onunload="setPage(\'url\',parent.bottomFrame.location.href)" rows="30,70">')
document.write('<frame name="topFrame" src="myFrameTop.html" />')
document.write('<frame name="bottomFrame" src="'+ getPage('url', 'myFrameBottom.html') +'" />')
document.write('</framset>')
</script>
첫째 단순히 헤더를 이용한 정적 파일이 아닌 항상 동적파일이므로 time() 이용이 가능
둘째 session설정에 관계없이 사용 가능합니다.
PHP팁 참조 [ http://phpschool.com/bbs2/inc_view.html?id=4516&code=tnt2&start=0&mode=search&field=body&search_name=&operator=and&period=all&category_id=&s_que=LastModified
]
오랜 시간이 걸렸지만 다양한 환경에서 테스트 해보지 못한 아쉬움이 남는군요.
혹시라도 버그가 발생되면 메일을 주시거나 글을 남겨주십시요.
시간 날때 들러서 보충하겠습니다.
[설명글]-----------------------------------------------------
이 팁은 쿠키 함수를 이용합니다.
이동할 프레임의 onunload시 페이지 주소를 쿠키에 저장하여
프레임셋 로딩시 머물렀던 프레임의 src 주소를 쿠키에 저장된 주소로 변경합니다.
보통 쿠키함수는 하루 단위이므로 초 단위로 동작하는 쿠키함수를 만듭니다.
[cookie.js]--------------------------------------------------------
function setCookie_m(name, value, live)
{
var date = new Date();
date.setSeconds(date.getSeconds()+ (live!=undefined?live:1000)); // 단위 1초
document.cookie = name + "=" + escape(value) + "; expires=" + date.toGMTString();
}
-------------------------------------------------------------------
setPage()를 onunload 에 등록하시고
getPage()는 페이지가 유지되기를 원하는 페이지에 호출합니다.
두 함수는 sName이란 문자열 인자를 전달받는데 내부적으로 쿠키의 이름이 됩니다.
따라서 setPage('name'),getPage('name')은 동일해야 올바른 주소값을 얻을 수 있겠죠.
*cookie.js에는 위에서 만든 setCookie_m(..)외에도 여러분이 사용하는
getCookie()를 복사하세요.
[frameset.html]--------------------------------------------------------
<html><head><title>프레임셋</title></head>
<script src="cookie.js"></script>
<script>
function setPage(sName,sURL)
{
setCookie_m(sName,sURL,5); // 5초간 쿠키 생존
}
function getPage(sName,sBasicURL)
{
var page = getCookie(sName);
return (page)?page: sBasicURL;
}
</script>
<script>
// 보안 문제로 외부사이트 접근 제한
document.write('<frameset onunload="setPage(\'url\',parent.bottomFrame.location.href)" rows="30,70">')
document.write('<frame name="topFrame" src="myFrameTop.html" />')
document.write('<frame name="bottomFrame" src="'+ getPage('url', 'myFrameBottom.html') +'" />')
document.write('</framset>')
</script>
관련자료
-
링크
댓글 0
등록된 댓글이 없습니다.