24시간 팝업... 계속 그대로 나와요 ㅠㅠ 채택완료
추팔소
7년 전
조회 4,012
1.
우선 html 코드 박스 내에 openWin('div_laypopup'); 이 부분에서
" openWin'이(가) 정의되지 않았습니다. " 라고 오류가 뜹니다.
스크립트 살펴봤지만 왜 정의가 되지 않았는지... 문제를 찾지 못했습니다.
2.
체크박스에 체크를 하면 내용이 사라지긴 합니다만... 새로고침 or 페이지 이동 하면
다시 그대로 뜹니다 ㅠㅠ 쿠키 값이 적용된 것이 아닌 것 같아요.
어떻게 하면 될까요? 도와주세요!!
</p>
<p> <div id="div_laypopup">
팝업 안 내용
<input type="checkbox" name="close" value="OK" onclick="javascript:closeWin('div_laypopup', 1);"/>하루동안 이 창을 열지 않음
</div></p>
<p> <script type="text/javascript">
openWin('div_laypopup');
</script></p>
<p>
</p>
<p>// 창열기
function openWin( winName ) {
var blnCookie = getCookie( winName );
var obj = eval( "window." + winName );
if( !blnCookie ) {
obj.style.display = "block";
}
}</p>
<p>// 창닫기
function closeWin(winName, expiredays) {
setCookie( winName, "done" , expiredays);
var obj = eval( "window." + winName );
obj.style.display = "none";
}
function closeWinAt00(winName, expiredays) {
setCookieAt00( winName, "done" , expiredays);
var obj = eval( "window." + winName );
obj.style.display = "none";
}</p>
<p>// 쿠키 가져오기
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 "";
}</p>
<p>// 24시간 기준 쿠키 설정하기
// expiredays 후의 클릭한 시간까지 쿠키 설정
function setCookie( name, value, expiredays ) {
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
// openWin
if( !blnCookie ) { obj.style.display = "block"; }
=>
blnCookie ? obj.style.display = 'none' : obj.style.display = "block";
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
추팔소
7년 전
답변 감사합니다. 그런데 오류는 해결되지 않았습니다 ㅠ
�
슈와이
7년 전
http://shuai0.dothome.co.kr/demo/cookie.php
�
추팔소
7년 전
스크립트가 html 코드 위로 올라가야 됐었네요!! 도움 주셔서 정말 감사합니다!!!
댓글을 작성하려면 로그인이 필요합니다.
7년 전
openWin () , CloseWin () 을 setCookie() getCookie() 함수 밑으로 옮겨보세요
참조가 안되서 그런게 아닐까요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
�
추팔소
7년 전
답변 감사하지만 그래도 안되네욤ㅠ,ㅠ
j
janedoe
7년 전
그럼 혹시 브라우저에서 쿠키 사용을 배제하는 옵션을 설정하셨던가 한건 아니신지 한 번 체크를...
�
추팔소
7년 전
체크 해봤는데 아무런 문제 없네요.. 혹시나해서 구글 크롬으로도 해봤는데도 똑같아요
쿠키를 보면 체크박스에 선택을 했을 때 사라지고 div_laypopup=done 이렇게 쿠키가
생성되긴 하지만 못 읽어오는 건지..ㅠ
쿠키를 보면 체크박스에 선택을 했을 때 사라지고 div_laypopup=done 이렇게 쿠키가
생성되긴 하지만 못 읽어오는 건지..ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인