Zeit Cookies in Session Cookies ändern

messmar

Erfahrenes Mitglied
Moin zusammen,

ich bräuchte Hilfe wieder mal bei einem Skript, wo Seven mir netterweiße sehr viel geholfen hat bzw. den Code geschrieben hatte.
(Das Skript funkt. übrigens super prima ;-) )

http://www.tutorials.de/forum/javascript-ajax/311974-checkbox-status-speichern-2.html

Es geht um Cookies, dessen Lebensdauer auf einer bestimmten Zeit begrenzt ist.

Code:
HTML:
....
function set_cookie(cookieName,cookieValue,intDays){
    if(!is_cookie_enabled()){
         return false;
    }
       
    objNow = new Date();
    strExp = new Date( objNow.getTime() + ( intDays * 86400000) );
    document.cookie = cookieName + '=' +
                      cookieValue + ';expires=' +
                      strExp.toGMTString() + ';';
    return true;
}
....

Ich muss sie allerdings in Session Cookies ändern, da es sich herausgestellt hat, dass die Zeit Cookies sich eigentlich für die Applikation nicht die ideale Lösung sind.
(man kann ja nie auslernen ;-) )

Kann Jemand mir bitte dabei helfen, wie ich das machen könnte.

Es sollte eigentlich nicht so kompliziert sein, aber ich gehe davon aus, dass die Funktion nicht einfach ohne Weiteres zu ändern ist, da sie mit den anderen Funktionen in Verbindung steht.

Es geht mir eigentlich darum, dass wenn der User den Browser schließt bzw. wenn er seine Setzung beendet, dass die Cookies auch gelöscht werden, was jetzt mit diesem Skript, obwohl ich eine delet e Cookie funktion eingebunden habe, nicht passiert.

P.S. ich war mir nicht sicher, ob ich, diesbezüglich, ein neues Thema hier öffne bzw. poste oder einfach beim alten Thema, das
mindesten ca. 2 Monate zurücklegt, weiter mache.


1000 Danke und Gruß
Messmar
 
Zuletzt bearbeitet:
So gehts:
Code:
function set_cookie(cookieName,cookieValue){
    if(!is_cookie_enabled()){
         return false;
    }
       
    document.cookie = cookieName + '=' +cookieValue +  ';';
    return true;
}

Man lässt einfach das Ablaufdatum weg, dann wird der Keks bei Beenden der Session gegessen.
 
Hi Sven,
das ist ja Prima ;-) es funktioniert.

Ich hatte es aber Millerweile mit JSP auch hinbekommen:
HTML:
<%!
   static final String[] MAKES = {
      "cookie01",
      "cookie02",
      "cookie03",
      "cookie04",
      "cookie05",
      "cookie06",
      "cookie07",
      ......
    };
%>
<%
   for (int i = 0; i < MAKES.length; i++) {
      String makes = MAKES[i];


     Cookie killMyCookie = new Cookie(makes, null);
     killMyCookie.setMaxAge(0);
     killMyCookie.setPath("/");
     response.addCookie(killMyCookie);
  }
%>

Aber Deine Lösung ist auch sehr gut... ich bin davon ausgegangen, dass man evtl. Vieles ändern muss als nur die Zwei Commandos bzw. Zeilen, die Du entfernt hast.

Ich habe zwar die folgende Funktion hinzugefügt und entsprehcend aufgerufen, aber es hat überhaupt nicht
funktioniert. Weißt Du evtl. warum?
HTML:
function delete_cookie (cookie_name){
  var cookie_date = new Date ( );  //aktuelles Datum u. Zeit
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

Nochmal Danke und Gruß
Messmar
 
Zuletzt bearbeitet:
Zurück