marcelo: von überall aus meiner domain den selben cookie schreiben

Beitrag lesen

hallo!
also ich habe eine startseite auf der man seine auflösung auswählt.dann wird ein cookie geschrieben. hierbei unterscheide ich einfach unter hoher auflösung und niedriger und einer ausweichlösung..

function HIGHsetzen() {
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (30 * 24 * 3600 * 1000));
SetCookie('usercss','HIGH',largeExpDate,myDomain);
location.reload();
parent.main.location.reload();
}
function LOWsetzen() {
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (30 * 24 * 3600 * 1000));
SetCookie('usercss','LOW',largeExpDate,myDomain);
location.reload();
parent.main.location.reload();
}
function STANDARDsetzen() {
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (30 * 24 * 3600 * 1000));
SetCookie('usercss','STANDARD',largeExpDate,myDomain);
location.reload();
parent.main.location.reload();
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

dann wird der cookie ausgelesen und auf eine cssdatei verwiesen:

var usercss = GetCookie('usercss');
if (usercss == null) { usercss = 'NochKeinCookieWert'; }
if (usercss == 'HIGH') {
document.write("<LINK REL=stylesheet HREF="high.css" TYPE="text/css">");
}
else { if (usercss == 'LOW') {
document.write("<LINK REL=stylesheet HREF="low.css" TYPE="text/css">"); }
else { document.write ("<LINK REL=stylesheet HREF="high.css" TYPE="text/css">"); }
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}

wenn man jetzt auf der startseite ein cookie schreiben lässt und auf der richtigen seite merk das ist falsch kann man die auflösung wieder ändern.allesdings funktioniert das nicht.
ich habe keine ahnung von javascript, ich möchte das der pfadname immer derselbe ist. sodass ich die funktionen auch von anderen html seiten aufrufen kann, ohne das ein weiterer cookie geschrieben wird.

schaut es euch doch mal an http://www.heide-aquarelle.de/july2007/33oyMarcelo/index.html

sonst freue ich mich immer über verbesserungsvorschläge

gruß 33oyMarcelo =)