테스트 사이트 - 개발 중인 베타 버전입니다

쿠키 질문합니다...

· 13년 전 · 1337 · 22
<scRIPT LANGUAGE="Javascript"> 
var side_content = function() { 
var __sidecontent = document.getElementById('sidecontent'); 
var __sidebtn = document.getElementById('_sidebtn'); 
if(__sidecontent.style.display != "none") { 
__sidecontent.style.display = "none"; 
__sidebtn.src="/img/btn_side_open.png"; 
} else { 
__sidecontent.style.display = "block"; 
__sidebtn.src="/img/btn_side_close.png"; 
</scRIPT>
----------------------------------------------------------------------------------------
<style type="text/css">
#sidecontent { position:relative; display:block; width:250px; height:100%; background-color:#f4f4f4;}
#sidecontent .menu-content { margin:5px 0 0 0; border-top:1px solid #D9D9D9; border-bottom:1px solid #D9D9D9; background-color:#EFEFEF; padding:5px; }
#sidecontent .menu-content a { letter-spacing:-1px; color:#484848; padding:0 5px 0 5px; }
#sidecontent .menu-content a:hover { text-decoration:underline; }
#sidecontent .menu-content .menuline { margin:5px 0 5px 0; }
.btn_side { position:fixed; top:50%; bottom:50%; vertical-align: middle; text-align:center; }
</style>
----------------------------------------------------------------------------------------
<table id="left">
<td><div align="left" valign="top" id="sidecontent">
<div class="latest">test</div>
</div></div></td><td>
<a href="#" onclick="side_content();" style="cursor:hand;" class="btn_side"><img id='_sidebtn' src="<?=$g4[path]?>/img/btn_side_close.png" border="0"></a></td>
</table>
----------------------------------------------------------------------------------------
<!-- btn_side_close.png 이미지를 클릭하면 왼쪽에서사이드컨텐츠가 사라지며 btn_side_close.png 이미지가 btn_side_open.png 이미지로 바뀐다. 또한 btn_side_open.png 이미지를 클릭하면 사이드컨텐츠가 나타나며 btn_side_close.png 이미지로 바뀐다. -->

여기서 idecontent.style.display가 block상태로 다른페이지로 넘어가도 유지되고 브라우저를 닫으면 쿠키삭제하는방법에 대해 방법을 질문합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 22개

여기서 idecontent.style.display가 block상태로 다른페이지로 넘어가도 유지되고: apply .js globally 하세요. (외부에서 global 로 적용하시라구요.)

브라우저를 닫으면 쿠키삭제: onunload="del_cookie()"

!아, 그누보드에서 사용하시는거죠? 그누보드는 session 이 있으니까, 쿠키 종료날짜를설정하셔야 합니다. (아무날짜나 상관 없습니다. 과거 날짜를 하나 선택해 정하시면 됩니다. )

/*음.. 뭐 하시려고 하는지 보려고 사이트 잠깐 방문해 봤는데요, 지금 작업하시고 계신 것, (왼쪽 패널) 제가 작년해 해봤던거라서.... jQuery animation 으로 부드럽게 열고 닫히게 하면 더 좋을 것 같습니다. 코드도 더 간결하구요.

Q: jQuery 를 쓰면 더 무거워지지 않느냐?
A: 어짜피 그누보드 자체에서 jQuery 를 불러오고 있음으로 더 무거워지는게 아닙니다..
쿠키삭제하는법만 알겠고 나머진 잘모르겠네여ㅎㄷ;;쿠키를 한번도 손대본적이 없어서ㅠ;;
1. 일단 그누보드의 쪽지로 답장을 드리면 보안상 문제가 있어서 쪽지로 답장을 못드립니다. 쪽지와 쿠키, 그리고 세션, 무슨 관련이 있을까요? ㅎㅎㅎ

얘기가 너무 길어지고 해킹관련 문제라 설명은 못드리지만, 질문하시는 문제와 밀접한 관련이 있습니다. 지금 하시려는게, 그누보드에서 한번 로그인 하면 30일동안 유지되는 로그인 credential 을 윈도우가 닫히면 삭제하시려는거잖아요. 맞나요?

어느 부분이 이해가 안되시는건지요? 혹시 몰라서

.js 외부적용은 저

var side_content = function() {
var __sidecontent = document.getElementById('sidecontent');
var __sidebtn = document.getElementById('_sidebtn');
if(__sidecontent.style.display != "none") {
__sidecontent.style.display = "none";
__sidebtn.src="/img/btn_side_open.png";
} else {
__sidecontent.style.display = "block";
__sidebtn.src="/img/btn_side_close.png";
}
}

거를 예를 들자면 side.js 이렇게 저장하셔서

<script type="text/javascript" src="side.js"></script> 이렇게 불러 오시라는 얘기구요... (이 부분이 이해가 안되시는 건 아닐 것 같은데... 암튼....

그리고 쿠키 종료날짜 설정은:

Thu, 01-Jan-99 00:00:01 EST (이런식으로 날짜를 쓰신 후: 이거는 1999년 1월 1일 이란 뜻 입니다. EST 는 미국의 시간대구요, 동부..)

암튼, 지금 시도하시려는게, 그누보드에서 생성된 로그인 관련 세션 쿠키를 삭제하시려는 것 같은데, function 을 이렇게 하나 만드세요.

function del_cookie(name) {
document.cookie = name +
'=; expires=Fri, 01-Jan-99 00:00:01 EST;';
}

이러면, 그누보드에서 생성된, 그리고 각 그누보드 방문자의 하드드라이브에 저장되는 세션 쿠키가 1999년 1월 1일 이후로는 그누보드가 무시하게 됩니다. 이해가 되시는지요? 더 자세하게 설명드리면 해킹에 악용될 수 가 있어서... 쿨럭.....

여기서 저 "name" 은 그누보드의 세션 쿠키 이름 입니다. 이걸 찾아서 입력해 주셔야 합니다. (이 세션쿠키 이름을 여기서 공개하면 리자님이 화나실 수도..... -..-;;)

왜 세션쿠키를 삭제하시려는지 제가 님의 의도를 정확히 몰라서,.... 암튼, 최대한 자세하게 설명드렸습니다.
로그인이 아니라 홈페이지 보셨음과 같이 사이드바관련문의입니다...사이드바를 닫아놓으면 페이지가 넘어가도 그사이드바가 그대로 닫혀있고 열어놓고 페이지를 넘어가도 열려있도록 말이죠...;
아....

그건 css 로 만으로도 조정이 가능한데.... 그런데 그걸 고치셔도 어짜피 javascript 만으로 animation 넣으시기가 무척 어려울거고...

훔.....

지금 스아니님을 위해서 하나 급조했슴돠...... 이걸 받아 쓰세요.

http://hackya.com/side_tab.htm

크롬에서 우클릭 + 저장 하시믄 됩니다. 물론 아시겠지만, 이걸 모르시는 분들이 가끔계셔서....

소스 보시믄 아시겠지만, 저는 무조건 간결하게 코딩하려고 합니다.

저 왼편 슬라이딩 탭의 코드는

$(document).ready(function(){
$("#cbox").hover(function(){ jQuery(this).stop(true,false).animate({left: 0}, 500); },function(){ jQuery("#cbox").stop(true,false).animate({left: -266}, 500); });
});

이게 전부에요. 무지 쉽고 간단하죠? ㅎㅎ ㅎ

jQuery 쓰세염...
아, function 화 하지 않고, eraseCookie('name'); 이렇게 하는 방법도 있습니다.

그리고 계속 말씀드리지만, jQuery 를 사용하시면 뭐든지 쉬워집니다.

쿠키 예를 들자면,

jQuery 로 30일 후 만료되는 쿠키 굽기:

$.cookie("name", "foo", { expires: 30});

쿠키 삭제하기

$.cookie("name", null);

무진장 쉽고 간단하죠? ㅋㅋㅋ

이런식으로 쿠키를 굽고, 삭제하고 하시려면 jQuery 쿠키 플러그인을 다운받으시면 됩니다.

https://github.com/carhartl/jquery-cookie

사이트 어제 보니까 javascript 을 어느정도 알고 쓰시던데, 그럼 jQuery 는 뭐 배울것도 없어요. 저는 jQuery 를 좋아합니다. ㅎㅎㅎ
제이쿼리 애니메이션탭 고거..ie에서는 너무 느린것같아요...;
그리고 이부분에있어 제가 사용하는탭에 만족합니다..;쿠키란 그냥 너무 어려운것같습니다..제이쿼리 쿠키 쉽다고 하셨는데..어떤식으로 작성해야하는지 조차 모르겠어요..엉덩이 또 쥐났네요..쩝ㅠ;; 혹시 네이트온 아이디있으시면 qkrwocjs777@naver.com 친추 부탁해도 될까요?...;
뭐 이런일때문만아니라 프로그래머분들과 친해지고 싶어서요..;
IE 에서 전혀 안느린데....animate 속도를 이렇게 올려보세요....

$(this).stop(true,false).animate({left: 0}, 200); },function(){ jQuery("#cbox").stop(true,false).animate({left: -266}, 200); });

현재도 IE 에서도 부드럽게 잘 작동되는데 이상하네요... (지금 코딩하시느라 브라우저를 많이 열어 놓으신 상태면 메모리 누수 현상때문에 본인 컴퓨터에서만 느리게 작동할 수 있습니다. 브라우저를 다 끄시고 컴퓨터를 다시 켜서 작동시켜보세요.)

저는 한국에서 살고 있는 사람이 아니고, 주민등록번호가 없어서 네이트온 아이디가 없습니다. (사실 한국에서 살아본 햇수도 몇년 안된다는.. 한국 국적도 아니라는.... 한국어가 제 주 언어도 아니라는.... 쿨럭...)

그리고 저 프로그래머 아니고, 그냥 주말에 취미삼아 코딩이나 조금씩 하는 왕초보 에요.. ㅎㅎㅎ
허허;; 그냥 본문에서 사이드바를 닫아놓으면 페이지가 넘어가도 그사이드바가 그대로 닫혀있고 열어놓고 페이지를 넘어가도 열려있도록 쿠키적용하는소스 알려주세요..ㅠ;
저에겐 너무 힘겹네요...;
처음부터 윈도우를 킬때 저 javascript 이 한번 작동된 상태로 페이지가 로딩하게 하면되겠죠...

window onload 하면 side_content 를 한번 자동 클릭하게...

그게 제일 쉬울 것 같은데요?

이렇게 하시면 될거에요.

window.onload = function() {
side_content();
};

아!!! 그게 아니구나... 죄송... 제가 한국어가 좀 서툴러서....
////////

일단 쿠키를 구우시구요

function one(sidecontent){
createCookie("savedvar",sidecontent,1);
}

쿠키를 읽어주면 되겠네요.
readCookie("savedvar")

마지막으로 쿠키 삭제는

eraseCookie('sidecontent');

만족하셨습니까, 고갱님? ㅎㅎㅎ

게시글 목록

번호 제목
12463
12462
12461
12460
12459
12458
12457
12456
12455
12454
12453
12452
12451
12450
12449
12448
12447
12446
12445
12444
12443
12442
12441
12440
12439