Я устанавливаю cookie для запоминания изменения className, однако, если я устанавливаю cookie @ mydomain /, он читает для всех путей к каталогам, но если cookie установлен в mydomain / sub /, он читает только для этого пути к каталогу.
Есть предложения?
HTML:
<html>
<head>
<script type="text/javascript" src="theme.js" /></script>
</head>
<body id="site-index" class="defaultTheme">
<a href="#" id="themeone">Theme one</a>
<a href="#" id="themetwo">Theme Two</a>
</body>
</html>
Мой код (theme.js):
var stateTheme;
window.onload=function() {
objTheme=document.getElementsByTagName('body')[0];
stateTheme=(stateTheme==null)?' defaultTheme':stateTheme;
objTheme.className+=stateTheme;
//THEME
document.getElementById('themeone').onclick=function() {
objTheme.className='defaultTheme';
stateTheme=objTheme.className;
setCookie("StateTheme",stateTheme,expiryDate);
return false;
}
document.getElementById('themetwo').onclick=function() {
objTheme.className=(objTheme.className=='defaultTheme')?' silverTheme':' silverTheme';
stateTheme=objTheme.className;
setCookie("StateTheme",stateTheme,expiryDate);
return false;
}
}
//COOKIES
function setCookie() {
exp=new Date();
plusMonth=exp.getTime()+(31*24*60*60*1000);
exp.setTime(plusMonth);
document.cookie='StateTheme='+stateTheme+';expires='+exp.toGMTString();
}
function readCookie() {
stateTheme = getCookie("StateTheme");
}
// Cookie
var daysToKeep = 500; // default cookie life...
theCookie = '';
today = new Date();
expiryDate = new Date(today.getTime() + (daysToKeep * 86400000));
function setCookie (name,value,expires,path,theDomain,secure) {
value = escape(value);
var theCookie = name + "=" + value +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "/") +
((theDomain) ? "; domain=" + theDomain : "127.0.0.1") +
((secure) ? "; secure" : "");
document.cookie = theCookie;
}
function getCookie(Name) {
var search = Name + "="
if (document.cookie.length > 0) { // if there are any cookies
offset = document.cookie.indexOf(search)
if (offset != -1) { // if cookie exists
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset)
// set index of end of cookie value
if (end == -1) end = document.cookie.length
return unescape(document.cookie.substring(offset, end))
}
}
}
readCookie();