![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: marcelo, 30. 12. 2007, 19:44
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 =)
Die folgende Nachricht zum Thema stammt von: Xork zum Work, 31. 12. 2007, 17:44
»» 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..
Na, da stelle ich doch mal die süffisante Frage, wo da die Optimierung in "für Mozilla Firefox optimiert" sein soll - optimal und nicht funktionierend schließt sich eigenlich aus.
»» pathname = location.pathname;
»» myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
»» SetCookie('usercss','HIGH',largeExpDate,myDomain);
»» function SetCookie (name, value) {
»» ich möchte das der pfadname immer derselbe ist.
Ursachen:
a) Die Funktion SetCookie() verlangt keinen Pfadnamen.
b) Trotz a) gibst Du einen Pfad zur Beschränkung an, und zwar den der aktuell angezeigten Seite.
Lösungen:
a) Du übergibst SetCookie(), nichts, was es nicht unbedingt brauchst.
b) Du übergibst SetCookie den Pfad zum Wurzelverzeichnis.
Die folgende Nachricht zum Thema stammt von: marcelo, 31. 12. 2007, 18:17
»» Na, da stelle ich doch mal die süffisante Frage, wo da die Optimierung in "für Mozilla Firefox optimiert" sein soll - optimal und nicht funktionierend schließt sich eigenlich aus.
ok ok ich bin noch nicht sehr profesionell..
b) Du übergibst SetCookie den Pfad zum Wurzelverzeichnis.
ich möchte lösung b,danach hab ich ja schon gesucht nur ich hab wenig ahnung von javascript, versuche mich grade dran bücher drüber durchzuwelzen.. wie mach ich das denn nun?
lG marcelo
Die folgende Nachricht zum Thema stammt von: Xork zum Work, 31. 12. 2007, 20:07
»» »» »» SetCookie('usercss','HIGH',largeExpDate,myDomain);
»» b) Du übergibst SetCookie den Pfad zum Wurzelverzeichnis.
»»
»» ich möchte lösung b
Das Türchen B, der Herr, hier ist ihr Gewinn:
SetCookie('usercss','HIGH',largeExpDate,'/');
Die folgende Nachricht zum Thema stammt von: marcelo, 02. 01. 2008, 01:54
»» »» »» »» SetCookie('usercss','HIGH',largeExpDate,myDomain);
»»
»» »» b) Du übergibst SetCookie den Pfad zum Wurzelverzeichnis.
»» »»
»» »» ich möchte lösung b
»»
»» Das Türchen B, der Herr, hier ist ihr Gewinn:
»»
»» SetCookie('usercss','HIGH',largeExpDate,'/');
»»
»»
hehehe hat wunderbar geklappt danke :D
© 1998-2006
Impressum, Software: Classic Forum