2012-01-04 4 views
14

내 응용 프로그램에 이상한 버그가 있음을 알았습니다. 자바를 사용한 저의 작은 경험으로 인해 디버깅 할 수 없었습니다.자바 스크립트로 영구 쿠키를 설정하십시오.

영구 쿠키를 설정하려고합니다. 설정 시간 (주요 브라우저의 최대 값)에서 1 년 후에 종료되지만 브라우저가 닫히면 삭제되지 않고 계속 유지됩니다.이 코드를 사용했습니다. :

// Build the expiration date string: 
var expiration_date = new Date(); 
expiration_date . setYear (expiration_date . getYear() + 1); 
expiration_date = expiration_date . toGMTString(); 
// Build the set-cookie string: 
var cookie_string = "test_cookies = true; path=/; expires=" + expiration_date; 
// Create/update the cookie: 
document . cookie = cookie_string; 

내가 쿠키 관리자 플러그인을 사용할 때 쿠키가 세션 태그가 나타났습니다 및 브라우저 종료 후이 태그 만 사람이 제거됩니다

+1

만료 날짜 브라우저를 닫을 때 삭제되지 않도록 미리 설정하십시오. 그것이 바로 그들이 원하는 것입니다. –

답변

20
(워드 프레스의 같은 다른 사람과 같은 스크립트 계속)

구문을 내 스타일 (상단, 최소 리 캐스트 등의 변수)으로 변경했으며 아래의 예는 localhost 꽤 잘. 프로덕션 서버에 문제가있는 경우

// Build the expiration date string: 
var expiration_date = new Date(); 
var cookie_string = ''; 
expiration_date.setFullYear(expiration_date.getFullYear() + 1); 
// Build the set-cookie string: 
cookie_string = "test_cookies=true; path=/; expires=" + expiration_date.toUTCString(); 
// Create or update the cookie: 
document.cookie = cookie_string; 

뿐만 아니라 쿠키의 도메인을 설정하십시오 (www.quirksmode.org/js/cookies.html#link5)

2

당신이 getFullYear()setFullYear()Date 인스턴스의 방법 대신 getYear() 등을 사용하여 시도해야 setYear()? 후자는 더 이상 사용되지 않습니다 (here 참조).

희망이 도움이됩니다. 건배.

관련 문제