Desmond Kabus: Cookie wird nicht gespeichert oder funktioniert nicht

Hallo!

Ich erstelle für einen Schüleraustausch meiner Schule mit einer Schule in Kansas eine Webseite, dafür habe ich mit Javascript einen Sprachwechsler entwickelt, dieser Funktioniert einwandfrei.

Um zu speichern, welche Sprache der User favorisiert, will ich einen Cookie speichern. Das klappt nur nicht. Wenn ich die Seite wechsle, ist die Seite wieder auf Deutsch.

Kann mir jemand helfen?

Desmond Kabus,
Jgst. 10, Landfermann Gymnasium

  
var ablauf = new Date();  
var infuenfTagen = ablauf.getTime() + (5 * 24 * 60 * 60 * 1000);  
ablauf.setTime(infuenfTagen);  
  
var Keks;  
  
if (document.cookie) {  
Keks = document.cookie;  
  
if (Keks != "En") {  
  German();  
 }else{  
  English();  
 }  
}  
  
  
function German () {  
  document.getElementById("Sprache").href = "http://file1.npage.de/008596/90/html/deutsch.css";  
  document.cookie = "Dt; expires=" + ablauf.toGMTString();  
}  
  
function English () {  
  document.getElementById('Sprache').href = 'http://file1.npage.de/008596/90/html/english.css';  
  document.cookie = "En; expires=" + ablauf.toGMTString();  
}
  1. Hi,

    Ich erstelle für einen Schüleraustausch meiner Schule mit einer Schule in Kansas eine Webseite, dafür habe ich mit Javascript einen Sprachwechsler entwickelt, dieser Funktioniert einwandfrei.

    Nein, nur wenn JavaScript verfügbar ist.

    Um zu speichern, welche Sprache der User favorisiert, will ich einen Cookie speichern. Das klappt nur nicht.

    Doch, vermutlich schon. Aber du wertest den Cookie (der nicht mal unbedingt im Singular vorhanden sein muss), falsch aus.

    if (document.cookie) {
    Keks = document.cookie;

    if (Keks != "En") {

    Mache eine Kontrollausgabe des Inhaltes von Keks mittels alert vor dieser if-Abfrage - die zeigt dir deinen Irrtum.

    Und lies bei SELFHTML oder anderswo im Web nach, wie man Cookies in JavaScript korrekt handhabt, bzw. suche dir gleich einen fertigen Script-Schnippsel dafür.

    function German () {
      document.getElementById("Sprache").href = "http://file1.npage.de/008596/90/html/deutsch.css";
      document.cookie = "Dt; expires=" + ablauf.toGMTString();
    }

    Wieso sind eigentlich das einzige, was dein Sprachwechsler wechselt, die Formatierungen der Seite?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      Wieso sind eigentlich das einzige, was dein Sprachwechsler wechselt, die Formatierungen der Seite?

      Das reicht doch - je nach ausgewählter Sprache werden die Elemente mit lang="de" bzw. die mit lang="en" eingeblendet und die mit anderen lang-Attributwerten ausgeblendet.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
      1. Hi,

        Wieso sind eigentlich das einzige, was dein Sprachwechsler wechselt, die Formatierungen der Seite?

        Das reicht doch - je nach ausgewählter Sprache werden die Elemente mit lang="de" bzw. die mit lang="en" eingeblendet und die mit anderen lang-Attributwerten ausgeblendet.

        Dafür zwei unterschiedliche Stylesheets zu laden, wenn man das auch durch das Setzen einer Klasse für html oder body und den Nachfahrenselektor erreichen könnte, erscheint mir aber unsinnig.

        Und beide Sprachversionen in ein HTML-Dokument zu quetschen, halte ich auch nicht für besonders sinnvoll.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?