아래는 사용자의 컴퓨터에 12 개월 동안 기록되는 JavaScript 쿠키입니다.
과 같은 기본 도메인에 쿠키를 설정 한 후 example.com
사용자가과 같은 하위 도메인을 방문하는 경우 test.example.com
“테스트”하위 도메인에서 사용자의 활동을 계속 식별해야합니다.
그러나 현재 코드를 사용하면을 (를) 떠나고 www.example.com
방문 하자마자 test.example.com
더 이상 “HelloWorld”로 플래그가 지정되지 않습니다.
쿠키를 하위 도메인에서 읽을 수 있도록 누구든지 내 코드를 도와 줄 수 있습니까?
<script type="text/javascript">
var cookieName = 'HelloWorld';
var cookieValue = 'HelloWorld';
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate;
</script>
답변
그냥 설정 domain
과 path
같은 쿠키에 속성 :
<script type="text/javascript">
var cookieName = 'HelloWorld';
var cookieValue = 'HelloWorld';
var myDate = new Date();
myDate.setMonth(myDate.getMonth() + 12);
document.cookie = cookieName +"=" + cookieValue + ";expires=" + myDate
+ ";domain=.example.com;path=/";
</script>
답변
원하는 :
document.cookie = cookieName +"=" + cookieValue + ";domain=.example.com;path=/;expires=" + myDate;
RFC 2109에 따라 모든 하위 도메인에서 쿠키를 사용할 수 있도록하려면 .
도메인 앞에를 넣어야 합니다.
path = /를 설정하면 지정된 전체 도메인 (일명 .example.com
) 내에서 쿠키를 사용할 수 있습니다 .
답변
다음은 작동하는 예입니다.
document.cookie = "testCookie=cookieval; domain=." +
location.hostname.split('.').reverse()[1] + "." +
location.hostname.split('.').reverse()[0] + "; path=/"
이것은 위치 개체에서 루트 도메인을 가져와 쿠키를 설정하는 일반적인 솔루션입니다. 그 반대는 하위 도메인이 몇 개 있는지 모르기 때문입니다.
답변
MDN JavaScript 쿠키 프레임 워크를 사용하여 다음을 수행 할 수도 있습니다 .
docCookies.setItem('HelloWorld', 'HelloWorld', myDate, '/', 'example.com');