Creating a JavaScript cookie on a domain and reading it across sub domains Creating a JavaScript cookie on a domain and reading it across sub domains javascript javascript

Creating a JavaScript cookie on a domain and reading it across sub domains


Just set the domain and path attributes on your cookie, like:

<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>


You want:

document.cookie = cookieName +"=" + cookieValue + ";domain=.example.com;path=/;expires=" + myDate;

As per the RFC 2109, to have a cookie available to all subdomains, you must put a . in front of your domain.

Setting the path=/ will have the cookie be available within the entire specified domain(aka .example.com).


Here is a working example :

document.cookie = "testCookie=cookieval; domain=." + location.hostname.split('.').reverse()[1] + "." + location.hostname.split('.').reverse()[0] + "; path=/"

This is a generic solution that takes the root domain from the location object and sets the cookie. The reversing is because you don't know how many subdomains you have if any.