묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
쿠키를 이용해 체크박스 선택 시 다음부터 알리미 자동으로 켜는 기능;
2005.03.01 20:44
을 구현하려고 하는데요.
레이어1이 있고 레이어1속안에는 아이프레임이 있습니다.
아이프레임의 초기상태는 빈 페이지(about:blank)이고.
레이어1의 초기상태는 감춰져(hidden)있습니다.
그리고, 알리미를 띄우기 위한 링크글씨
"알리미 켜기"
가 이고, 그 알리미 켜기라는 글씨를 클릭하게 되면
레이어1은 감춰짐(hidden)에서 보임(visible)로 변하게 되고,
아이프레임의 빈 페이지(about:blank)는 알리미페이지인 (overmind.kp.ro)로 변하게 됩니다.
그리고!
일일이 알리미켜기란 단어를 클릭하기 귀찮으신 분들을 위해
체크박스를 하나 만들어놓고, '다음부터 시작할 때 자동으로' 라고 해 놨습니다.
체크박스를 체크하게 되면..
다음 접속 시, 알리미 켜기를 안눌러도 쿠키가 저장되어있어
자동으로 알리미가 작동되게 됩니다.
알리미가 작동된다는 건 아이프레임의 주소가 overmind.kp.ro가 초기상태이고, 레이어가 visible이 초기상태라는 것.
체크박스를 체크 시 다음에 접속해있을 때에도 체크가 되어있는건 구현했습니다!
즉 쿠키는 구혔했는데...
자동으로 아이프레임의 주소가 overmind.kp.ro, 레이어가 visible로 되게 하는 방법을 구현 못하겠습니다..
제가 자바스크립트는 전혀모르고;
쿠키 만드는것도 겨우겨우 도움얻으면서 해갔는데..; 저건 절대 모르겠네요..
도움 부탁드립니다!!
■■■ 원본 소스 ■■■
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>알리미 켜기</title>
<meta name="generator" content="Namo WebEditor v5.0">
<script language="javascript">
function setCookie (name, value, expires) {
document.cookie = name + "=" + escape (value) +
"; path=/; expires=" + expires.toGMTString();
}
function getCookie(Name) {
var search = Name + "="
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
}
return "";
}
function saveid(form) {
var expdate = new Date();
if (form.checksaveid.checked)
expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30);
else
expdate.setTime(expdate.getTime() - 1);
setCookie("saveid", form.id.value, expdate);
}
function getid(form) {
form.checksaveid.checked = ((form.id.value = getCookie("saveid")) != "");
}
</script>
<script language="JavaScript">
<!--
function na_show_layer(lname)
{
if(document.layers)
document.layers[lname].visibility = 'show'
if(document.all)
document.all(lname).style.visibility = 'visible'
}
// -->
</script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" onLoad="getid(document.mainform);">
<div id="layer" style="width:200px; height:400px; position:absolute; left:312px; top:6px; z-index:1; visibility:hidden;">
<p><iframe width="200" height="400" scrolling="no" frameborder=0 align="center" src="about:blank" name="main"></iframe></p>
</div>
<p><a href="http://overmind.kp.ro" target="main" OnClick="na_show_layer('layer');">알리미 켜기</a></p>
<form name=mainform>
<p><input type="checkbox" name=checksaveid value="" OnClick="saveid(this.form)"> 다음부터 시작할 때 자동으로</p>
</form>
</body>
</html>
■■■■■■■■■■■
레이어 이름 : layer
아이프레임 이름 : main
폼 이름 : mainform
체크박스 이름 : checksaveid
■■■■■■■■■■■
레이어1이 있고 레이어1속안에는 아이프레임이 있습니다.
아이프레임의 초기상태는 빈 페이지(about:blank)이고.
레이어1의 초기상태는 감춰져(hidden)있습니다.
그리고, 알리미를 띄우기 위한 링크글씨
"알리미 켜기"
가 이고, 그 알리미 켜기라는 글씨를 클릭하게 되면
레이어1은 감춰짐(hidden)에서 보임(visible)로 변하게 되고,
아이프레임의 빈 페이지(about:blank)는 알리미페이지인 (overmind.kp.ro)로 변하게 됩니다.
그리고!
일일이 알리미켜기란 단어를 클릭하기 귀찮으신 분들을 위해
체크박스를 하나 만들어놓고, '다음부터 시작할 때 자동으로' 라고 해 놨습니다.
체크박스를 체크하게 되면..
다음 접속 시, 알리미 켜기를 안눌러도 쿠키가 저장되어있어
자동으로 알리미가 작동되게 됩니다.
알리미가 작동된다는 건 아이프레임의 주소가 overmind.kp.ro가 초기상태이고, 레이어가 visible이 초기상태라는 것.
체크박스를 체크 시 다음에 접속해있을 때에도 체크가 되어있는건 구현했습니다!
즉 쿠키는 구혔했는데...
자동으로 아이프레임의 주소가 overmind.kp.ro, 레이어가 visible로 되게 하는 방법을 구현 못하겠습니다..
제가 자바스크립트는 전혀모르고;
쿠키 만드는것도 겨우겨우 도움얻으면서 해갔는데..; 저건 절대 모르겠네요..
도움 부탁드립니다!!
■■■ 원본 소스 ■■■
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>알리미 켜기</title>
<meta name="generator" content="Namo WebEditor v5.0">
<script language="javascript">
function setCookie (name, value, expires) {
document.cookie = name + "=" + escape (value) +
"; path=/; expires=" + expires.toGMTString();
}
function getCookie(Name) {
var search = Name + "="
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
}
return "";
}
function saveid(form) {
var expdate = new Date();
if (form.checksaveid.checked)
expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30);
else
expdate.setTime(expdate.getTime() - 1);
setCookie("saveid", form.id.value, expdate);
}
function getid(form) {
form.checksaveid.checked = ((form.id.value = getCookie("saveid")) != "");
}
</script>
<script language="JavaScript">
<!--
function na_show_layer(lname)
{
if(document.layers)
document.layers[lname].visibility = 'show'
if(document.all)
document.all(lname).style.visibility = 'visible'
}
// -->
</script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" onLoad="getid(document.mainform);">
<div id="layer" style="width:200px; height:400px; position:absolute; left:312px; top:6px; z-index:1; visibility:hidden;">
<p><iframe width="200" height="400" scrolling="no" frameborder=0 align="center" src="about:blank" name="main"></iframe></p>
</div>
<p><a href="http://overmind.kp.ro" target="main" OnClick="na_show_layer('layer');">알리미 켜기</a></p>
<form name=mainform>
<p><input type="checkbox" name=checksaveid value="" OnClick="saveid(this.form)"> 다음부터 시작할 때 자동으로</p>
</form>
</body>
</html>
■■■■■■■■■■■
레이어 이름 : layer
아이프레임 이름 : main
폼 이름 : mainform
체크박스 이름 : checksaveid
■■■■■■■■■■■
댓글 2
-
CompleX
2005.03.01 21:31
-
에지
2005.03.02 19:08
조금 복잡하게 구현하신것 같은데요;;
차라리 이렇게 하면 어떨까요?
1) '알리미 열기'를 클릭하면 문구가 '알리미 닫기'로 바뀐다.
그와 동시에 iframe으로 넣은 알리미가 열리면서 쿠키가 구워진다.
2) '알리미 닫기'를 다시 클릭하면 그 문구가 '알리미 열기'로 바뀐다.
그와 동시에 iframe 자체가 사라지면서 쿠키 또한 파괴된다.
3) 다음에도 자동으로 띄우려면 '알리미 닫기'를 클릭하지 않고 홈페이지 자체를 닫아버리면 된다.
이게 저 소스를 적용한 페이지입니다.