방문객에게 공지를 띄우는 방법 중 하나가 새 창을 띄우는 것이죠. 하지만, 들어갈 때마다 같은 내용의 새 창이 계속해서 뜬다면, 방문객으로서는 짜증이 날 수도 있습니다. 그런 불편을 없애줄 수 있는 소스입니다.
새 창이 뜨는 것을 원치 않는 방문객은 체크박스에 체크하고 닫기버튼을 누르면 다음부터는 새 창이 열리지 않습니다.
새 창으로 띄울 html문서가 하나 더 있어야하기 때문에 필요한 html문서는 총 2개입니다. 본문서를 base.html, 작은 새 창으로 띄울 문서를 popup.html 이라고 이름 붙이겠습니다. (base.html 라는 주소로 들어왔을 때, 체크박스가 있는 popup.html 이라는 이름의 문서가 작은 창으로 열리는 식이 되겠죠.)
base.html 의<head>와 </head>아래 소스를 넣습니다.
<script language="JavaScript">
<!--
function getCookie(name) {
var nameOfCookie = name + "=";
var x = 0
while ( x <= document.cookie.length ) {
var y = (x+nameOfCookie.length);
if ( document.cookie.substring( x, y ) == nameOfCookie ) {
if ( (endOfCookie=document.cookie.indexOf( ";",y )) == -1 )
endOfCookie = document.cookie.length;
return unescape( document.cookie.substring(y, endOfCookie ) );
}
x = document.cookie.indexOf( " ", x ) + 1;
if ( x == 0 )
break;
}
return "";
}
function openCookieWin() {
if (getCookie("ncook") != "done") {
noticeWindow = window.open("popup.html","","width=500, height=300, top=200,left=100");
noticeWindow.opener = self;
}
}
//-->
</script>
base.html 의<body> 에 onLoad="openCookieWin()" 를 아래와 같은 방법으로 추가합니다.
popup.html 의<head></head>사이에 아래 소스를 넣습니다.
<script language="JavaScript">
<!--
function setCookie(name,value,expiredays) {
var todayDate = new Date();
todayDate.setDate(todayDate.getDate() + expiredays);
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function closeWin() {
if(document.checkClose.ncook.checked == true) {
setCookie("ncook", "done" ,7);
}
self.close();
}
//-->
</script>
popup.html 의 <body> 에 체크박스와 닫기버튼을 넣습니다.
<form name="checkClose">
<input type="checkbox" name="ncook">다음부터 이 창 띄우지 않음
<a href="#" onClick="closeWin()">닫기</a>
</form>
'HTML/CSS/SCRIPT' 카테고리의 다른 글
체크하면 하루동안 창뜨우지않기 (0) | 2007.04.20 |
---|---|
스크롤바 따라다니는 아이콘 (0) | 2007.04.20 |
오른쪽마우스 누름 금지 (0) | 2007.04.20 |
약관에 동의하지 않으면 입력안됨 (0) | 2007.04.20 |
버튼 누르면 화면상단으로 이동 (0) | 2007.04.20 |
Comments