페이지가 캐시에서로드 된 경우에도 페이지가 참조 될 때마다 쿠키 값을 증가 시키려고합니다. 이것을 구현하는 "가장 좋은"또는 가장 간결한 방법은 무엇입니까?JavaScript를 사용하여 단일 쿠키 값을 가져오고 설정하는 "최선의"방법은 무엇입니까?
15
A
답변
26
도난을 http://www.quirksmode.org/js/cookies.html#script
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toUTCString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
에서 그것을 사용 :
나는 개인적으로 내 프로젝트에 jQuery를 사용하고 난 jQuery Cookie Plugin를 사용, 그것은 사용하기 정말 간단
var oldCount = parseInt(readCookie('hitCount'), 10) || 0;
createCookie('hitCount', oldCount + 1, 7);
주석에서 지적한 바와 같이
은 쿠키가 있으므로 int로 변환해야합니다. 저장되고 문자열로 반환됩니다. foo++
또는 ++foo
를 사용하면 실제로 캐스트, 그러나 당신이 작업을 정확히 알고 더 안전합니다
var x = "5"; // x = "5" (string)
x += 1; // x = "51" (string!)
x += 5; // x = "515" (string!)
++x; // x = 516 (number)
7
내가 this 예처럼, 당신은 cookie-js 같은 다른 라이브러리를 사용할 수 검색 중 값을 저장하는 간단한 문자열 조작을 사용하여 본 적이 오래된 쿠키 처리 기능, 작은 (< 100 선) 쿠키 유틸리티의 대부분 접속하다.
var cookieName = "increment";
if ($.cookie(cookieName) == null){
$.cookie(cookieName, 1, { expires: 10 });
}else{
var newValue = Number($.cookie(cookieName)) + 1;
$.cookie(cookieName, newValue, { expires: 10 });
}
0
가장 좋은 방법은 항상 간단합니다 :
function getCookie(name) {
return (name = (document.cookie + ';').match(new RegExp(name + '=.*;'))) && name[0].split(/=|;/)[1];
}
// the default lifetime is 365 days
function setCookie(name, value, days) {
var e = new Date;
e.setDate(e.getDate() + (days || 365));
document.cookie = name + "=" + value + ';expires=' + e.toUTCString() + ';path=/;domain=.' + document.domain;
}
이 함수는 값을 기대 간단한 문자열이 될 수 있지만, 원하는대로 또는 다른 작업을 수행하려는 경우 항상 JSON.string을 사용할 수 있습니다.
관련 문제
- 1. JavaScript를 사용하여 쿠키를 가져오고 설정하는 방법은 무엇입니까?
- 2. .NET에서 RegistryKey 값을 직접 가져오고 설정하는 중
- 3. JavaScript를 사용하여 모든 데이터를 포함하는 하나의 쿠키
- 4. Delphi RTTI를 사용하여 레코드 값을 가져오고 설정하는 방법
- 5. JavaScript를 사용하여 SAP Adobe Forms에서 동적으로 값을 설정하는 방법
- 6. 클라이언트에서 JavaScript를 사용하여 Dom.disable_window_open_feature.location 값을 설정하는 방법 firefox browser
- 7. javascript를 통해 런타임시 href 값을 설정하는 방법은 무엇입니까?
- 8. XNA에서 픽셀 데이터를 가져오고 설정하는 방법은 무엇입니까?
- 9. JavaScript를 사용하여 Content-Type 헤더를 설정하는 방법
- 10. 숨겨진 필드에 값을 설정하고 Javascript를 사용하여 div를 숨기는 방법은 무엇입니까?
- 11. javascript를 사용하여 URL에 값을 만들고 양식을 통해 값을 제출 하시겠습니까?
- 12. JavaScript를 사용하여 값이 여러 개인 경우 특정 쿠키 값을 검색하는 방법은 무엇입니까?
- 13. JavaScript를 사용하여 이미지를 설정하는 데 문제가 있습니다.
- 14. jquery 또는 javascript를 사용하여 텍스트 상자에 쿠키 값 가져 오기
- 15. 단일 값을 사용하여 원자 업데이트
- 16. 쿠키 값을 보내지 않음.
- 17. ; 쿠키 값을 asp.net에서 트림합니다
- 18. 값을 DB에 전달하고 JavaScript를 사용하여 100 % JavaScript를 볼 수 있습니까?
- 19. jQuery - 제출을위한 입력 값을 가져오고 싶지만 1을 가져오고 반복합니다.
- 20. "="값을 가진 쿠키
- 21. jQuery를 사용하여 다른 페이지에서 쿠키 값을 얻는 방법은 무엇입니까?
- 22. jsp를 사용하여 flex에서 마지막 쿠키 값을 유지하는 방법은 무엇입니까? 플렉스에서
- 23. Struts | Javascript를 사용하여 로직 태그에 값을 할당하십시오.
- 24. Javascript를 사용하여 XML 문서에서 값을 추출하는 방법
- 25. 단일 명령으로 tgz 파일을 가져오고 추출하는 방법은 무엇입니까?
- 26. URL의 데이터를 가져오고 분할하여 Android의 TextView로 설정하는 방법은 무엇입니까?
- 27. 톰캣 쿠키 값을 기준으로 리디렉션
- 28. javascript를 사용하여 out 형식으로 콤보 상자 값을 제출하는 방법은 무엇입니까?
- 29. JavaScript를 사용하여 텍스트 필드의 값을 가져 오는 방법은 무엇입니까? (jQuery)
- 30. javascript를 사용하여 method 매개 변수의 값을 가져 오는 방법은 무엇입니까?
readCookie는 부분 문자열을 반환하지만 1을 증가시킬 때 숫자로 캐스팅해야합니다. 그렇지 않으면 , 1, 11, 111, 1111 ... – CMS
값이 – hultqvist
인 이스케이프 및 이스케이프가 누락되었습니다. toGCtring에 toUTCString이 사용되지 않습니다. – BeauCielBleu